Skip to content

Commit

Permalink
Merge pull request #369 from atlanhq/chris
Browse files Browse the repository at this point in the history
Bump to latest dependencies and fix minor bugs
  • Loading branch information
cmgrote authored Dec 5, 2023
2 parents d0b283f + b01c830 commit b6dda03
Show file tree
Hide file tree
Showing 9 changed files with 127 additions and 11 deletions.
2 changes: 1 addition & 1 deletion buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ repositories {
}

dependencies {
implementation("org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:1.9.20")
implementation("org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:1.9.21")
implementation("com.diffplug.spotless:spotless-plugin-gradle:6.21.0")
implementation( "io.freefair.gradle:lombok-plugin:8.4")
implementation("net.ltgt.gradle:gradle-errorprone-plugin:3.1.0")
Expand Down
16 changes: 8 additions & 8 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
[versions]
jackson = "2.15.3"
slf4j = "2.0.7"
elasticsearch = "8.8.2"
jackson = "2.16.0"
slf4j = "2.0.9"
elasticsearch = "8.11.1"
freemarker = "2.3.32"
classgraph = "4.8.160"
classgraph = "4.8.165"
testng = "7.8.0"
log4j = "2.20.0"
wiremock = "2.27.2"
log4j = "2.22.0"
wiremock = "3.3.1"
jnanoid = "2.0.0"
numaflow = "0.4.8"
awssdk = "2.20.68"
awssdk = "2.21.37"
system-stubs = "2.1.5"
fastcsv = "2.2.2"
poi = "5.2.5"
Expand All @@ -25,7 +25,7 @@ classgraph = { module = "io.github.classgraph:classgraph", version.ref = "classg
testng = { module = "org.testng:testng", version.ref = "testng" }
log4j-core = { module = "org.apache.logging.log4j:log4j-core", version.ref = "log4j" }
log4j-slf4j2 = { module = "org.apache.logging.log4j:log4j-slf4j2-impl", version.ref = "log4j" }
wiremock = { module = "com.github.tomakehurst:wiremock", version.ref = "wiremock" }
wiremock = { module = "org.wiremock:wiremock", version.ref = "wiremock" }
jnanoid = { module = "com.aventrix.jnanoid:jnanoid", version.ref = "jnanoid" }
numaflow-java = { module = "io.numaproj.numaflow:numaflow-java", version.ref = "numaflow" }
awssdk-s3 = { module = "software.amazon.awssdk:s3", version.ref = "awssdk" }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ class Policies(
}

private fun getResources(client: AtlanClient, policy: AuthPolicy): String {
if (policy.accessControl.typeName == "Purpose") {
if (policy.accessControl?.typeName == "Purpose") {
// In this case the "resources" are tags, so we should translate the tag names
return policy.policyResources?.joinToString("\n") {
client.atlanTagCache.getNameForId(it.substringAfter("tag:"))
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
/* SPDX-License-Identifier: Apache-2.0
Copyright 2023 Atlan Pte. Ltd. */
import com.atlan.pkg.PackageTest
import com.atlan.pkg.ae.AdminExporter
import com.atlan.pkg.serde.xls.ExcelReader
import org.testng.Assert.assertFalse
import org.testng.Assert.assertTrue
import org.testng.ITestContext
import org.testng.annotations.AfterClass
import org.testng.annotations.BeforeClass
import org.testng.annotations.Test
import java.io.File

/**
* Test export of all policies, including internal.
*/
class ExportAllPoliciesTest : PackageTest() {
private val files = listOf(
"debug.log",
"admin-export.xlsx",
)

@BeforeClass
fun beforeClass() {
setup(
AdminExportCfg(
objectsToInclude = listOf(
"policies",
),
includeNativePolicies = true,
),
)
AdminExporter.main(arrayOf(testDirectory))
}

@Test
fun filesCreated() {
validateFilesExist(files)
}

@Test
fun hasExpectedSheets() {
val xlFile = "$testDirectory${File.separator}admin-export.xlsx"
ExcelReader(xlFile).use { xlsx ->
assertFalse(xlsx.hasSheet("Users"))
assertFalse(xlsx.hasSheet("Groups"))
assertFalse(xlsx.hasSheet("Personas"))
assertFalse(xlsx.hasSheet("Purposes"))
assertTrue(xlsx.hasSheet("Policies"))
}
}

@Test
fun testPolicies() {
val xlFile = "$testDirectory${File.separator}admin-export.xlsx"
ExcelReader(xlFile).use { xlsx ->
val rows = xlsx.getRowsFromSheet("Policies")
assertTrue(rows.isNotEmpty())
rows.forEach { row ->
assertFalse(row["Policy name"].isNullOrBlank())
assertFalse(row["Kind"].isNullOrBlank())
assertFalse(row["Type"].isNullOrBlank())
}
}
}

@Test
fun errorFreeLog() {
validateErrorFreeLog()
}

@AfterClass(alwaysRun = true)
fun afterClass(context: ITestContext) {
teardown(context.failedTests.size() > 0)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@ class ExportUsersTest : PackageTest() {
ExcelReader(xlFile).use { xlsx ->
assertTrue(xlsx.hasSheet("Users"))
assertFalse(xlsx.hasSheet("Groups"))
assertFalse(xlsx.hasSheet("Personas"))
assertFalse(xlsx.hasSheet("Purposes"))
assertFalse(xlsx.hasSheet("Policies"))
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,15 @@ abstract class Metric(
return "${client.baseUrl}/assets/$guid/overview"
}

/**
* Return the abbreviated name for the metric, for example TLAxL.
*
* @return the abbreviated name for the metric
*/
fun getShortName(): String {
return name.substringBefore(" - ")
}

/**
* Output the detailed records for this report.
*
Expand All @@ -63,7 +72,7 @@ abstract class Metric(
fun outputDetailedRecords(xlsx: ExcelWriter) {
val header = getDetailedHeader()
if (header.isNotEmpty()) {
val sheet = xlsx.createSheet(name)
val sheet = xlsx.createSheet(getShortName())
xlsx.addHeader(sheet, header)
query().stream().forEach { asset ->
val row = getDetailedRecord(asset)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,13 @@ import com.atlan.model.enums.AtlanAnnouncementType
import com.atlan.model.enums.CertificateStatus
import com.atlan.pkg.PackageTest
import com.atlan.pkg.mdir.Reporter
import com.atlan.pkg.serde.xls.ExcelReader
import org.testng.Assert.assertFalse
import org.testng.Assert.assertTrue
import org.testng.ITestContext
import org.testng.annotations.AfterClass
import org.testng.annotations.BeforeClass
import java.io.File
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertNotNull
Expand Down Expand Up @@ -195,6 +197,20 @@ class ImpactReportTest : PackageTest() {
validateFilesExist(files)
}

@org.testng.annotations.Test
fun hasExpectedSheets() {
val xlFile = "$testDirectory${File.separator}mdir.xlsx"
ExcelReader(xlFile).use { xlsx ->
assertTrue(xlsx.hasSheet("Overview"))
assertTrue(xlsx.hasSheet("DLAxL"))
assertTrue(xlsx.hasSheet("HQV"))
assertTrue(xlsx.hasSheet("SUT"))
assertTrue(xlsx.hasSheet("TLAxL"))
assertTrue(xlsx.hasSheet("TLAxQ"))
assertTrue(xlsx.hasSheet("TLAxU"))
}
}

@Test
fun errorFreeLog() {
validateErrorFreeLog()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import com.atlan.AtlanClient;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.*;
import com.fasterxml.jackson.databind.cfg.CacheProvider;
import com.fasterxml.jackson.databind.cfg.HandlerInstantiator;
import com.fasterxml.jackson.databind.deser.DefaultDeserializationContext;
import com.fasterxml.jackson.databind.deser.DeserializerCache;
Expand Down Expand Up @@ -49,6 +50,11 @@ private ClientAwareDeserializationContext(ClientAwareDeserializationContext src,
this.client = src.client;
}

@Override
public DefaultDeserializationContext withCaches(CacheProvider cacheProvider) {
return this;
}

@Override
public DefaultDeserializationContext with(DeserializerFactory factory) {
return new ClientAwareDeserializationContext(this, factory);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializationConfig;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.cfg.CacheProvider;
import com.fasterxml.jackson.databind.cfg.HandlerInstantiator;
import com.fasterxml.jackson.databind.introspect.Annotated;
import com.fasterxml.jackson.databind.ser.DefaultSerializerProvider;
Expand Down Expand Up @@ -36,6 +37,11 @@ protected ClientAwareSerializerProvider(
this.client = client;
}

@Override
public DefaultSerializerProvider withCaches(CacheProvider cacheProvider) {
return this;
}

@Override
public DefaultSerializerProvider createInstance(SerializationConfig config, SerializerFactory jsf) {
return new ClientAwareSerializerProvider(this, config, jsf, client);
Expand Down

0 comments on commit b6dda03

Please sign in to comment.