Skip to content

Commit 6c68b55

Browse files
authored
Merge branch 'master' into dependabot/gradle/org.jetbrains.exposed-exposed-jdbc-0.57.0
2 parents bc9a4f4 + 3e71c40 commit 6c68b55

File tree

5 files changed

+42
-21
lines changed

5 files changed

+42
-21
lines changed

src/main/kotlin/io/codemc/api/jenkins/jenkins.kt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,21 @@ fun getJenkinsUser(username: String): String = runBlocking(Dispatchers.IO) {
212212
return@runBlocking res.body() ?: ""
213213
}
214214

215+
/**
216+
* Checks if a Jenkins user exists.
217+
* @param username The username of the user.
218+
* @return `true` if the user exists, `false` otherwise.
219+
*/
220+
fun existsUser(username: String): Boolean = getJenkinsUser(username).isNotEmpty()
221+
222+
/**
223+
* Checks if a Jenkins job exists.
224+
* @param username The username of the user.
225+
* @param jobName The name of the job.
226+
* @return `true` if the job exists, `false` otherwise.
227+
*/
228+
fun existsJob(username: String, jobName: String): Boolean = getJenkinsJob(username, jobName).isNotEmpty()
229+
215230
/**
216231
* Gets all Jenkins users.
217232
* @return A list of all Jenkins users mapped by their username.

src/main/kotlin/io/codemc/api/nexus/nexus.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,13 @@ fun getNexusUser(name: String): JsonObject? = runBlocking {
205205
return@runBlocking (json.decodeFromString(res.body()) as? JsonArray)?.firstOrNull() as? JsonObject
206206
}
207207

208+
/**
209+
* Checks if a Nexus User exists by its case-sensitive name.
210+
* @param name The name of the nexus user.
211+
* @return `true` if the user exists, `false` otherwise
212+
*/
213+
fun exists(name: String) = getNexusUser(name) != null
214+
208215
@VisibleForTesting
209216
internal suspend fun getNexusRole(name: String): JsonObject? {
210217
val res = nexus("$API_URL/security/roles/$name")

src/test/kotlin/io/codemc/api/database/TestDatabase.kt

Lines changed: 14 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class TestDatabase {
2929

3030
val u1 = getUser(n1)
3131
assertNotNull(u1)
32-
assertEquals(u1?.discord, 123456789L)
32+
assertEquals(123456789L, u1?.discord)
3333

3434
removeUser(n1)
3535

@@ -38,7 +38,7 @@ class TestDatabase {
3838

3939
val u2 = getUser(n2)
4040
assertNotNull(u2)
41-
assertEquals(u2?.discord, 987654321L)
41+
assertEquals(987654321L, u2?.discord)
4242

4343
removeUser(n2)
4444
}
@@ -50,35 +50,31 @@ class TestDatabase {
5050

5151
val u1 = getUser(name)
5252
assertNotNull(u1)
53-
assertEquals(u1?.discord, 0L)
53+
assertEquals(0L, u1?.discord)
5454

5555
updateUser(name, 123456789L)
5656

5757
val u2 = getUser(name)
5858
assertNotNull(u2)
59-
assertEquals(u2?.discord, 123456789L)
59+
assertEquals(123456789L, u2?.discord)
6060

6161
removeUser(name)
6262
}
6363

6464
@Test
6565
fun testMultipleUsers() {
6666
val users = listOf(
67-
"TestUser",
68-
"TestUser2",
67+
"TestMultiUser",
68+
"TestMultiUser2",
6969
)
7070

7171
users.forEach { s -> addUser(s, 4567L) }
7272

73-
val retrieved = getAllUsers()
74-
assertEquals(users.size, retrieved.size)
75-
for (i in retrieved.indices) {
76-
assertEquals(retrieved[i].username, users[i])
77-
assertEquals(retrieved[i].discord, 4567L)
78-
}
73+
assertEquals(4567L, getUser(users[0])?.discord)
74+
assertEquals(4567L, getUser(users[1])?.discord)
7975

80-
removeAllUsers()
81-
assertTrue(getAllUsers().isEmpty())
76+
removeUser(users[0])
77+
removeUser(users[1])
8278
}
8379

8480
@Test
@@ -102,15 +98,12 @@ class TestDatabase {
10298

10399
users.forEachIndexed { index, s -> addUser(s, index.toLong()) }
104100

105-
val retrieved = getAllUsers()
106-
assertEquals(users.size, retrieved.size)
107-
for (i in retrieved.indices) {
108-
assertEquals(retrieved[i].username, users[i])
109-
assertEquals(retrieved[i].discord, i.toLong())
101+
for ((i, user) in users.withIndex()) {
102+
assertNotNull(getUser(user))
103+
assertEquals(i.toLong(), getUser(user)?.discord)
110104
}
111105

112-
removeAllUsers()
113-
assertTrue(getAllUsers().isEmpty())
106+
users.forEach { removeUser(it) }
114107
}
115108

116109
}

src/test/kotlin/io/codemc/api/jenkins/TestJenkins.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,10 @@ class TestJenkins {
3838
checkUserConfig(u1)
3939

4040
assertTrue(getJenkinsUser(u1).isNotEmpty())
41+
assertTrue(existsUser(u1))
4142
assertTrue(deleteUser(u1))
4243
assertTrue(getJenkinsUser(u1).isEmpty())
44+
assertFalse(existsUser(u1))
4345

4446
val u2 = "MyPlayer123"
4547
assertTrue(createJenkinsUser(u2, "MyPassword456"))
@@ -84,6 +86,7 @@ class TestJenkins {
8486
val j1 = "TestJob_Freestyle"
8587
assertTrue(createJenkinsJob(name, j1, url, true))
8688
assertTrue(getJenkinsJob(name, j1).isNotEmpty())
89+
assertTrue(existsJob(name, j1))
8790

8891
val i1 = getJobInfo(name, j1)
8992
assertNotNull(i1)
@@ -92,8 +95,10 @@ class TestJenkins {
9295
val j2 = "TestJob2_Freestyle"
9396
assertTrue(createJenkinsJob(name, j2, url, true))
9497
assertTrue(getJenkinsJob(name, j2).isNotEmpty())
98+
assertTrue(existsJob(name, j2))
9599
assertTrue(deleteJob(name, j2))
96100
assertTrue(getJenkinsJob(name, j2).isEmpty())
101+
assertFalse(existsJob(name, j2))
97102

98103
val j3 = "TestJob_Maven"
99104
assertTrue(createJenkinsJob(name, j3, url, false))

src/test/kotlin/io/codemc/api/nexus/TestNexus.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ class TestNexus {
4343

4444
assertTrue(createNexus(name, UUID.randomUUID().toString()))
4545
assertFalse(getNexusUser(name).isNullOrEmpty())
46+
assertTrue(exists(name))
4647
assertTrue(getNexusUser("OtherName").isNullOrEmpty())
4748
assertTrue(getRepositories().isNotEmpty())
4849
assertFalse(getNexusRepository(repoName).isNullOrEmpty())

0 commit comments

Comments
 (0)