Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KON-328 Update Scope Creation Testing Project #160

Merged
merged 6 commits into from
May 19, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -195,8 +195,8 @@ jobs:
- name: List Artifacts
run: ls -R /home/runner/.m2/repository/

konsist-scope-creation-integration-test:
name: Konsist Scope Creation Integration Test
konsist-path-tester-project-integration-test:
name: Konsist Path Tester Project Integration Test
continue-on-error: true
runs-on: ubuntu-latest
strategy:
Expand All @@ -220,5 +220,8 @@ jobs:
-Pkonsist.ossrhUsername='${{secrets.OSSRH_USERNAME}}' \
-Pkonsist.ossrhPassword='${{secrets.OSSRH_PASSWORD}}'

- name : Konsist Scope Creation Integration Test
run: cd test/konsist-scope-creation/ && ./gradlew integrationTest
- name : Run Assemble
run: cd test/konsist-path-tester/ && ./gradlew assemble

- name : Run Integration Test
run: cd test/konsist-path-tester/ && ./gradlew integrationTest
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
package com.lemonappdev.konsist.core.scope

class KoScopeTest {
// Konsist Scope creation tests are implemented in the test\konsist-scope-creation project.
// Konsist Scope creation tests are implemented in the test\konsist-path-tester project.
}
2 changes: 1 addition & 1 deletion misc/DeveloperReadme.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

### Publish To Maven Repository

- `./gradlew publishToMavenLocal -Pkonsist.releaseTarget=local` publish to `~/.m2/repository`
- `./gradlew publishToMavenLocal -Pkonsist.releaseTarget=local` publish to local `~/.m2/repository`
- `./gradlew publish -Pkonsist.releaseTarget=snapshot` publish to
[snapshot repository](https://s01.oss.sonatype.org/content/repositories/snapshots/com/lemonappdev/konsist/)
- `./gradlew publish -Pkonsist.releaseTarget=release` publish to
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.lemonappdev.konsist.ext
package com.lemonappdev.konsist.helper.ext

import com.lemonappdev.konsist.api.KoScope

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.lemonappdev.konsist.util
package com.lemonappdev.konsist.helper.util

import java.io.File

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package com.lemonappdev.konsist
package com.lemonappdev.konsist.path

import com.lemonappdev.konsist.api.Konsist
import org.amshove.kluent.shouldBeEqualTo
import org.junit.jupiter.api.Test
import java.io.File

class KonsistTestForRootProjectPath {
class KonsistRootProjectPathTest {
@Test
fun `scopeFromProject`() {
// given
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
package com.lemonappdev.konsist
package com.lemonappdev.konsist.scope

import com.lemonappdev.konsist.api.Konsist
import com.lemonappdev.konsist.ext.mapToFilePaths
import com.lemonappdev.konsist.util.PathProvider.dataMainSourceSetDirectory
import com.lemonappdev.konsist.util.PathProvider.dataTestSourceSetDirectory
import com.lemonappdev.konsist.util.PathProvider.rootTestSourceSetDirectory
import com.lemonappdev.konsist.helper.ext.mapToFilePaths
import com.lemonappdev.konsist.helper.util.PathProvider.dataMainSourceSetDirectory
import com.lemonappdev.konsist.helper.util.PathProvider.dataTestSourceSetDirectory
import com.lemonappdev.konsist.helper.util.PathProvider.rootTestSourceSetDirectory
import org.amshove.kluent.shouldBeEqualTo
import org.junit.jupiter.api.Test
import java.io.File

class KonsistTestForOperator {
class KonsistOperatorTest {
@Test
fun `plus operator`() {
// given
Expand Down Expand Up @@ -46,7 +45,7 @@ class KonsistTestForOperator {
// then
sut.shouldBeEqualTo(
listOf(
"$rootTestSourceSetDirectory/sample/RootClassTest.kt"
"$rootTestSourceSetDirectory/sample/RootClassTest.kt",
),
)
}
Expand Down Expand Up @@ -104,7 +103,7 @@ class KonsistTestForOperator {
.mapToFilePaths()
.shouldBeEqualTo(
listOf(
"$rootTestSourceSetDirectory/sample/RootClassTest.kt"
"$rootTestSourceSetDirectory/sample/RootClassTest.kt",
),
)
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package com.lemonappdev.konsist.scope

import com.lemonappdev.konsist.api.Konsist
import com.lemonappdev.konsist.helper.ext.mapToFilePaths
import com.lemonappdev.konsist.helper.util.PathProvider.rootTestSourceSetDirectory
import org.amshove.kluent.shouldBeEqualTo
import org.junit.jupiter.api.Test

class KonsistSliceTest {
@Test
fun `slice-with-predicate-name`() {
// given
val sut = Konsist.scopeFromPackage("com.lemonappdev.sample", sourceSetName = "test")

// then
val actual = sut.slice { it.name.startsWith("RootClass") }

actual
.mapToFilePaths()
.shouldBeEqualTo(
listOf(
"$rootTestSourceSetDirectory/sample/RootClassTest.kt",
),
)
}
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package com.lemonappdev.konsist
package com.lemonappdev.konsist.scope

import com.lemonappdev.konsist.api.Konsist
import com.lemonappdev.konsist.util.PathProvider.appMainSourceSetDirectory
import com.lemonappdev.konsist.helper.util.PathProvider.appMainSourceSetDirectory
import org.amshove.kluent.shouldBeEqualTo
import org.junit.jupiter.api.Test

class KonsistTestForToString {
class KonsistToStringTest {
@Test
fun `toString method`() {
// given
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package com.lemonappdev.konsist
package com.lemonappdev.konsist.scope.from

import com.lemonappdev.konsist.api.Konsist
import com.lemonappdev.konsist.ext.mapToFilePaths
import com.lemonappdev.konsist.util.PathProvider.appMainSourceSetDirectory
import com.lemonappdev.konsist.helper.ext.mapToFilePaths
import com.lemonappdev.konsist.helper.util.PathProvider.appMainSourceSetDirectory
import org.amshove.kluent.shouldBeEqualTo
import org.amshove.kluent.shouldThrow
import org.amshove.kluent.withMessage
import org.junit.jupiter.api.Test

class KonsistTestForScopeFromDirectory {
class KonsistScopeFromDirectoryTest {
@Test
fun `scopeFromDirectory`() {
// given
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package com.lemonappdev.konsist
package com.lemonappdev.konsist.scope.from

import com.lemonappdev.konsist.api.Konsist
import com.lemonappdev.konsist.ext.mapToFilePaths
import com.lemonappdev.konsist.util.PathProvider.appMainSourceSetDirectory
import com.lemonappdev.konsist.helper.ext.mapToFilePaths
import com.lemonappdev.konsist.helper.util.PathProvider.appMainSourceSetDirectory
import org.amshove.kluent.shouldBeEqualTo
import org.amshove.kluent.shouldThrow
import org.amshove.kluent.withMessage
import org.junit.jupiter.api.Test

class KonsistTestForScopeFromFile {
class KonsistScopeFromFileTest {
@Test
fun `scopeFromFile`() {
// given
Expand All @@ -25,10 +25,10 @@ class KonsistTestForScopeFromFile {
@Test
fun `scopeFromFile throws exception if path does not exist`() {
// given
val func = { Konsist.scopeFromFile("$appMainSourceSetDirectory/NonExisting.kt") }
val func = { Konsist.scopeFromFile("$appMainSourceSetDirectory/NonExistingTest.kt") }

// then
val message = "File does not exist: $appMainSourceSetDirectory/NonExisting.kt"
val message = "File does not exist: $appMainSourceSetDirectory/NonExistingTest.kt"
func shouldThrow IllegalArgumentException::class withMessage message
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
package com.lemonappdev.konsist.scope.from

import com.lemonappdev.konsist.api.Konsist
import com.lemonappdev.konsist.helper.ext.mapToFilePaths
import com.lemonappdev.konsist.helper.util.PathProvider.appIntegrationTestSourceSetDirectory
import com.lemonappdev.konsist.helper.util.PathProvider.appMainSourceSetDirectory
import com.lemonappdev.konsist.helper.util.PathProvider.dataMainSourceSetDirectory
import com.lemonappdev.konsist.helper.util.PathProvider.dataTestSourceSetDirectory
import org.amshove.kluent.shouldBeEqualTo
import org.junit.jupiter.api.Test

class KonsistScopeFromModuleTest {
@Test
fun `scopeFromModule for app module`() {
// given
val sut = Konsist
.scopeFromModule("app")
.mapToFilePaths()

// then
sut.shouldBeEqualTo(
listOf(
"$appIntegrationTestSourceSetDirectory/konsist/helper/ext/KoScopeExt.kt",
"$appIntegrationTestSourceSetDirectory/konsist/helper/util/PathProvider.kt",
"$appIntegrationTestSourceSetDirectory/konsist/path/KonsistRootProjectPathTest.kt",
"$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistOperatorTest.kt",
"$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistSliceTest.kt",
"$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistToStringTest.kt",
"$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromDirectoryTest.kt",
"$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromFileTest.kt",
"$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromModuleTest.kt",
"$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromPackageTest.kt",
"$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProductionTest.kt",
"$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectDirectoryTest.kt",
"$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectFileTest.kt",
"$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectTest.kt",
"$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromSourceSetTest.kt",
"$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromTest.kt",
"$appIntegrationTestSourceSetDirectory/sample/AppClassTest.kt",
"$appIntegrationTestSourceSetDirectory/sample/data/AppDataClassTest.kt",
"$appMainSourceSetDirectory/sample/AppClass.kt",
"$appMainSourceSetDirectory/sample/data/AppDataClass.kt",
),
)
}

@Test
fun `scopeFromModule for data module`() {
// given
val sut = Konsist
.scopeFromModule("data")
.mapToFilePaths()

// then
sut.shouldBeEqualTo(
listOf(
"$dataMainSourceSetDirectory/sample/LibClass.kt",
"$dataMainSourceSetDirectory/sample/data/LibDataClass.kt",
"$dataTestSourceSetDirectory/sample/LibClassTest.kt",
"$dataTestSourceSetDirectory/sample/data/LibDataClassTest.kt",
),
)
}

@Test
fun `scopeFromModule for app and data modules`() {
// given
val sut = Konsist
.scopeFromModule("app", "data")
.mapToFilePaths()

// then
sut.shouldBeEqualTo(
listOf(
"$appIntegrationTestSourceSetDirectory/konsist/helper/ext/KoScopeExt.kt",
"$appIntegrationTestSourceSetDirectory/konsist/helper/util/PathProvider.kt",
"$appIntegrationTestSourceSetDirectory/konsist/path/KonsistRootProjectPathTest.kt",
"$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistOperatorTest.kt",
"$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistSliceTest.kt",
"$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistToStringTest.kt",
"$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromDirectoryTest.kt",
"$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromFileTest.kt",
"$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromModuleTest.kt",
"$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromPackageTest.kt",
"$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProductionTest.kt",
"$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectDirectoryTest.kt",
"$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectFileTest.kt",
"$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectTest.kt",
"$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromSourceSetTest.kt",
"$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromTest.kt",
"$appIntegrationTestSourceSetDirectory/sample/AppClassTest.kt",
"$appIntegrationTestSourceSetDirectory/sample/data/AppDataClassTest.kt",
"$appMainSourceSetDirectory/sample/AppClass.kt",
"$appMainSourceSetDirectory/sample/data/AppDataClass.kt",
"$dataMainSourceSetDirectory/sample/LibClass.kt",
"$dataMainSourceSetDirectory/sample/data/LibDataClass.kt",
"$dataTestSourceSetDirectory/sample/LibClassTest.kt",
"$dataTestSourceSetDirectory/sample/data/LibDataClassTest.kt",
),
)
}
}
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
package com.lemonappdev.konsist
package com.lemonappdev.konsist.scope.from

import com.lemonappdev.konsist.api.Konsist
import com.lemonappdev.konsist.ext.mapToFilePaths
import com.lemonappdev.konsist.util.PathProvider.appIntegrationTestSourceSetDirectory
import com.lemonappdev.konsist.util.PathProvider.appMainSourceSetDirectory
import com.lemonappdev.konsist.util.PathProvider.dataMainSourceSetDirectory
import com.lemonappdev.konsist.util.PathProvider.dataTestSourceSetDirectory
import com.lemonappdev.konsist.util.PathProvider.rootMainSourceSetDirectory
import com.lemonappdev.konsist.util.PathProvider.rootTestSourceSetDirectory
import com.lemonappdev.konsist.helper.ext.mapToFilePaths
import com.lemonappdev.konsist.helper.util.PathProvider.appIntegrationTestSourceSetDirectory
import com.lemonappdev.konsist.helper.util.PathProvider.appMainSourceSetDirectory
import com.lemonappdev.konsist.helper.util.PathProvider.dataMainSourceSetDirectory
import com.lemonappdev.konsist.helper.util.PathProvider.dataTestSourceSetDirectory
import com.lemonappdev.konsist.helper.util.PathProvider.rootMainSourceSetDirectory
import com.lemonappdev.konsist.helper.util.PathProvider.rootTestSourceSetDirectory
import org.amshove.kluent.shouldBeEqualTo
import org.junit.jupiter.api.Test

class KonsistTestForScopeFromPackage {
class KonsistScopeFromPackageTest {
@Test
fun `scopeFromPackage for com_lemonappdev_sample package`() {
// given
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
package com.lemonappdev.konsist
package com.lemonappdev.konsist.scope.from

import com.lemonappdev.konsist.api.Konsist
import com.lemonappdev.konsist.ext.mapToFilePaths
import com.lemonappdev.konsist.util.PathProvider.appMainSourceSetDirectory
import com.lemonappdev.konsist.util.PathProvider.dataMainSourceSetDirectory
import com.lemonappdev.konsist.util.PathProvider.rootMainSourceSetDirectory
import com.lemonappdev.konsist.helper.ext.mapToFilePaths
import com.lemonappdev.konsist.helper.util.PathProvider.appMainSourceSetDirectory
import com.lemonappdev.konsist.helper.util.PathProvider.dataMainSourceSetDirectory
import com.lemonappdev.konsist.helper.util.PathProvider.rootMainSourceSetDirectory
import org.amshove.kluent.shouldBeEqualTo
import org.amshove.kluent.shouldThrow
import org.amshove.kluent.withMessage
import org.junit.jupiter.api.Test

class KonsistTestForScopeFromProduction {
class KonsistScopeFromProductionTest {
@Test
fun `scopeFromProduction`() {
// given
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package com.lemonappdev.konsist
package com.lemonappdev.konsist.scope.from

import com.lemonappdev.konsist.api.Konsist
import com.lemonappdev.konsist.ext.mapToFilePaths
import com.lemonappdev.konsist.util.PathProvider.appMainSourceSetDirectory
import com.lemonappdev.konsist.helper.ext.mapToFilePaths
import com.lemonappdev.konsist.helper.util.PathProvider.appMainSourceSetDirectory
import org.amshove.kluent.shouldBeEqualTo
import org.amshove.kluent.shouldThrow
import org.amshove.kluent.withMessage
import org.junit.jupiter.api.Test

class KonsistTestForScopeFromProjectDirectory {
class KonsistScopeFromProjectDirectoryTest {
@Test
fun `scopeFromProjectDirectory`() {
// given
Expand Down
Loading