Skip to content

Commit e6bb632

Browse files
committed
Reduced number of variables in test class and corrected assert statements.
1 parent 1c58a91 commit e6bb632

File tree

2 files changed

+16
-47
lines changed

2 files changed

+16
-47
lines changed

plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/util/GitIgnoreFilteringUtil.kt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ import com.intellij.openapi.vfs.VfsUtil
77
import com.intellij.openapi.vfs.VirtualFile
88
import kotlinx.coroutines.async
99
import kotlinx.coroutines.withContext
10+
import java.nio.file.Paths
1011
import kotlin.coroutines.coroutineContext
12+
import kotlin.io.path.relativeTo
1113

1214
class GitIgnoreFilteringUtil(private val moduleDir: VirtualFile) {
1315
private var ignorePatternsWithGitIgnore = emptyList<Regex>()
@@ -78,15 +80,19 @@ class GitIgnoreFilteringUtil(private val moduleDir: VirtualFile) {
7880
.replace("*", ".*")
7981
.let { if (it.endsWith("/")) "$it.*" else "$it/.*" } // Add a trailing /* to all patterns. (we add a trailing / to all files when matching)
8082

81-
suspend fun ignoreFile(file: VirtualFile): Boolean {
83+
suspend fun ignoreFile(file: VirtualFile): Boolean = ignoreFile(file.presentableUrl)
84+
85+
suspend fun ignoreFile(path: String): Boolean {
8286
// this method reads like something a JS dev would write and doesn't do what the author thinks
8387
val deferredResults = ignorePatternsWithGitIgnore.map { pattern ->
8488
withContext(coroutineContext) {
8589
// avoid partial match (pattern.containsMatchIn) since it causes us matching files
8690
// against folder patterns. (e.g. settings.gradle ignored by .gradle rule!)
8791
// we convert the glob rules to regex, add a trailing /* to all rules and then match
8892
// entries against them by adding a trailing /.
89-
async { pattern.matches("${getRelativePath(file)}/") }
93+
// TODO: Add unit tests for gitignore matching
94+
val relative = if (path.startsWith(moduleDir.presentableUrl)) Paths.get(path).relativeTo(moduleDir.toNioPath()) else path
95+
async { pattern.matches("$relative/") }
9096
}
9197
}
9298

plugins/amazonq/codewhisperer/jetbrains-community/tst/software/aws/toolkits/jetbrains/services/codewhisperer/codetest/CodeTestSessionConfigTest.kt

Lines changed: 8 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,17 @@
33

44
package software.aws.toolkits.jetbrains.services.codewhisperer.codetest
55

6-
import com.github.tomakehurst.wiremock.core.WireMockConfiguration
7-
import com.github.tomakehurst.wiremock.junit.WireMockRule
86
import com.intellij.openapi.project.Project
97
import com.intellij.openapi.project.modules
108
import com.intellij.openapi.vfs.VirtualFile
11-
import com.intellij.testFramework.ApplicationRule
12-
import com.intellij.testFramework.DisposableRule
139
import org.assertj.core.api.Assertions.assertThat
14-
import org.junit.Assert.assertEquals
1510
import org.junit.Assert.assertNotNull
1611
import org.junit.Before
1712
import org.junit.Rule
1813
import org.junit.Test
1914
import org.junit.jupiter.api.assertThrows
20-
import org.junit.rules.TemporaryFolder
2115
import org.mockito.kotlin.spy
2216
import org.mockito.kotlin.stub
23-
import software.aws.toolkits.jetbrains.core.MockClientManagerRule
2417
import software.aws.toolkits.jetbrains.services.codewhisperer.codetest.sessionconfig.CodeTestSessionConfig
2518
import software.aws.toolkits.jetbrains.services.codewhisperer.language.programmingLanguage
2619
import software.aws.toolkits.jetbrains.utils.rules.CodeInsightTestFixtureRule
@@ -33,43 +26,20 @@ import java.util.zip.ZipInputStream
3326
class CodeTestSessionConfigTest {
3427
private lateinit var testJava: VirtualFile
3528
private lateinit var utilsJava: VirtualFile
36-
private lateinit var helperJava: VirtualFile
3729
private lateinit var readMeMd: VirtualFile
3830
private lateinit var helpGo: VirtualFile
3931
private lateinit var utilsJs: VirtualFile
40-
private lateinit var testJson: VirtualFile
4132
private lateinit var testYaml: VirtualFile
4233
private lateinit var helperPy: VirtualFile
4334
private lateinit var testTf: VirtualFile
4435

4536
private var totalSize: Long = 0
4637
private var totalLines: Long = 0
47-
private var payloadTestSize: Long = 0
48-
private var payloadTestLines: Long = 0
49-
50-
@Rule
51-
@JvmField
52-
val applicationRule = ApplicationRule()
5338

5439
@Rule
5540
@JvmField
5641
val projectRule: CodeInsightTestFixtureRule = HeavyJavaCodeInsightTestFixtureRule()
5742

58-
@Rule
59-
@JvmField
60-
val disposableRule = DisposableRule()
61-
62-
@Rule
63-
@JvmField
64-
val mockClientManagerRule = MockClientManagerRule()
65-
66-
@Rule
67-
@JvmField
68-
val wireMock = WireMockRule(WireMockConfiguration.wireMockConfig().dynamicPort())
69-
70-
@get:Rule
71-
val tempFolder = TemporaryFolder()
72-
7343
private lateinit var project: Project
7444
private lateinit var codeTestSessionConfig: CodeTestSessionConfig
7545

@@ -82,9 +52,9 @@ class CodeTestSessionConfigTest {
8252

8353
@Test
8454
fun `test createPayload`() {
85-
assertEquals(project.modules.size, 2)
55+
assertThat(project.modules.size).isEqualTo(2)
8656
val payload = codeTestSessionConfig.createPayload()
87-
assertNotNull(payload)
57+
assertThat(payload).isNotNull
8858
assertThat(payload.context.totalFiles).isEqualTo(8)
8959

9060
assertThat(payload.context.scannedFiles.size).isEqualTo(8)
@@ -99,8 +69,8 @@ class CodeTestSessionConfigTest {
9969
helperPy
10070
)
10171

102-
assertThat(payload.context.srcPayloadSize).isEqualTo(payloadTestSize)
103-
assertThat(payload.context.totalLines).isEqualTo(payloadTestLines)
72+
assertThat(payload.context.srcPayloadSize).isEqualTo(totalSize)
73+
assertThat(payload.context.totalLines).isEqualTo(totalLines)
10474
assertNotNull(payload.srcZip)
10575

10676
val bufferedInputStream = BufferedInputStream(payload.srcZip.inputStream())
@@ -122,8 +92,8 @@ class CodeTestSessionConfigTest {
12292
val totalLines = payloadMetadata.linesScanned
12393
val maxCountLanguage = payloadMetadata.language
12494
assertThat(includedSourceFiles.size).isEqualTo(8)
125-
assertThat(srcPayloadSize).isEqualTo(payloadTestSize)
126-
assertThat(totalLines).isEqualTo(payloadTestLines)
95+
assertThat(srcPayloadSize).isEqualTo(totalSize)
96+
assertThat(totalLines).isEqualTo(totalLines)
12797
assertThat(maxCountLanguage).isEqualTo(testJava.programmingLanguage().toTelemetryType())
12898
}
12999

@@ -191,7 +161,7 @@ class CodeTestSessionConfigTest {
191161
totalSize += utilsJava.length
192162
totalLines += utilsJava.toNioPath().toFile().readLines().size
193163

194-
helperJava = projectRule.fixture.addFileToModule(
164+
projectRule.fixture.addFileToModule(
195165
testModule,
196166
"/Helpers/Helper.java",
197167
"""
@@ -224,8 +194,6 @@ class CodeTestSessionConfigTest {
224194
}
225195
""".trimIndent()
226196
).virtualFile
227-
totalSize += helperJava.length
228-
totalLines += helperJava.toNioPath().toFile().readLines().size
229197

230198
helpGo = projectRule.fixture.addFileToModule(
231199
testModule,
@@ -273,7 +241,7 @@ class CodeTestSessionConfigTest {
273241
totalSize += utilsJs.length
274242
totalLines += utilsJs.toNioPath().toFile().readLines().size
275243

276-
testJson = projectRule.fixture.addFileToModule(
244+
projectRule.fixture.addFileToModule(
277245
testModule,
278246
"/Helpers/test3Json.json",
279247
"""
@@ -326,8 +294,6 @@ class CodeTestSessionConfigTest {
326294
}
327295
""".trimIndent()
328296
).virtualFile
329-
totalSize += testJson.length
330-
totalLines += testJson.toNioPath().toFile().readLines().size
331297

332298
helperPy = projectRule.fixture.addFileToModule(
333299
testModule,
@@ -422,8 +388,5 @@ class CodeTestSessionConfigTest {
422388
).virtualFile
423389

424390
projectRule.fixture.addFileToModule(testModule2, "/.idea/ref", "ref: refs/heads/main") // adding ignored files in second module
425-
426-
payloadTestSize = totalSize - helperJava.length - testJson.length
427-
payloadTestLines = totalLines - helperJava.toNioPath().toFile().readLines().size - testJson.toNioPath().toFile().readLines().size
428391
}
429392
}

0 commit comments

Comments
 (0)