Skip to content

Commit 296ff95

Browse files
committed
feat: use new style platform ids for audit
1 parent 529434c commit 296ff95

4 files changed

Lines changed: 24 additions & 18 deletions

File tree

src/main/kotlin/io/sdkman/broker/application/service/AuditCommand.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ data class AuditCommand(
2121
candidate = versionEntity.candidate,
2222
version =
2323
versionEntity.vendor
24-
.map { vendor -> versionEntity.version.replace("-$vendor", "") }
24+
.map { vendor -> versionEntity.version.removeSuffix("-$vendor") }
2525
.getOrElse { versionEntity.version },
26-
platform = clientPlatform.persistentId,
26+
platform = clientPlatform.auditId,
2727
dist = versionEntity.resolveActualDistribution(clientPlatform),
2828
vendor = versionEntity.vendor,
2929
host = auditContext.host,
@@ -33,7 +33,7 @@ data class AuditCommand(
3333

3434
private fun Version.resolveActualDistribution(sourcePlatform: Platform): String =
3535
when (this.platform) {
36-
Platform.Universal.persistentId -> Platform.Universal.persistentId
37-
else -> sourcePlatform.persistentId
36+
Platform.Universal.persistentId -> Platform.Universal.auditId
37+
else -> sourcePlatform.auditId
3838
}
3939
}

src/main/kotlin/io/sdkman/broker/domain/model/Platform.kt

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,35 @@ package io.sdkman.broker.domain.model
22

33
import arrow.core.Option
44

5-
sealed class Platform(val code: String, val persistentId: String) {
6-
data object LinuxX64 : Platform("linuxx64", "LINUX_64")
5+
sealed class Platform(val code: String, val persistentId: String, val auditId: String) {
6+
data object LinuxX64 : Platform("linuxx64", "LINUX_64", "LINUX_X64")
77

8-
data object LinuxARM64 : Platform("linuxarm64", "LINUX_ARM64")
8+
data object LinuxARM64 : Platform("linuxarm64", "LINUX_ARM64", "LINUX_ARM64")
99

10-
data object LinuxX32 : Platform("linuxx32", "LINUX_32")
10+
data object LinuxX32 : Platform("linuxx32", "LINUX_32", "LINUX_X32")
1111

12-
data object DarwinX64 : Platform("darwinx64", "MAC_OSX")
12+
data object LinuxARM32HF : Platform("linuxarm32hf", "LINUX_ARM32HF", "LINUX_ARM32HF")
1313

14-
data object DarwinARM64 : Platform("darwinarm64", "MAC_ARM64")
14+
data object LinuxARM32SF : Platform("linuxarm32sf", "LINUX_ARM32SF", "LINUX_ARM32SF")
1515

16-
data object WindowsX64 : Platform("windowsx64", "WINDOWS_64")
16+
data object DarwinX64 : Platform("darwinx64", "MAC_OSX", "MAC_X64")
1717

18-
data object Exotic : Platform("exotic", "EXOTIC")
18+
data object DarwinARM64 : Platform("darwinarm64", "MAC_ARM64", "MAC_ARM64")
1919

20-
data object Universal : Platform("universal", "UNIVERSAL")
20+
data object WindowsX64 : Platform("windowsx64", "WINDOWS_64", "WINDOWS_X64")
21+
22+
data object Exotic : Platform("exotic", "EXOTIC", "EXOTIC")
23+
24+
data object Universal : Platform("universal", "UNIVERSAL", "UNIVERSAL")
2125

2226
companion object {
2327
private val platformMap =
2428
mapOf(
2529
"linuxx64" to LinuxX64,
2630
"linuxarm64" to LinuxARM64,
2731
"linuxx32" to LinuxX32,
32+
"linuxarm32hf" to LinuxARM32HF,
33+
"linuxarm32sf" to LinuxARM32SF,
2834
"darwinx64" to DarwinX64,
2935
"darwinarm64" to DarwinARM64,
3036
"windowsx64" to WindowsX64,

src/test/kotlin/io/sdkman/broker/acceptance/VersionDownloadAuditAcceptanceSpec.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -123,14 +123,14 @@ class VersionDownloadAuditAcceptanceSpec : ShouldSpec({
123123
database = database,
124124
candidate = "groovy",
125125
version = "4.0.0",
126-
platform = "LINUX_64"
126+
platform = "LINUX_X64"
127127
)
128128

129129
savedRecord shouldBeSomeAnd { record ->
130130
record[AuditTable.command] shouldBe "install"
131131
record[AuditTable.candidate] shouldBe "groovy"
132132
record[AuditTable.version] shouldBe "4.0.0"
133-
record[AuditTable.platform] shouldBe "LINUX_64"
133+
record[AuditTable.platform] shouldBe "LINUX_X64"
134134
record[AuditTable.dist] shouldBe "UNIVERSAL"
135135
record[AuditTable.vendor] shouldBe null
136136
record[AuditTable.host] shouldBe "192.168.1.100"
@@ -175,7 +175,7 @@ class VersionDownloadAuditAcceptanceSpec : ShouldSpec({
175175
database = database,
176176
candidate = "kotlin",
177177
version = "1.6.0",
178-
platform = "WINDOWS_64"
178+
platform = "WINDOWS_X64"
179179
)
180180

181181
savedRecord shouldBeSomeAnd { record ->
@@ -210,7 +210,7 @@ class VersionDownloadAuditAcceptanceSpec : ShouldSpec({
210210
database = database,
211211
candidate = "nonexistent",
212212
version = "1.0.0",
213-
platform = "LINUX_64"
213+
platform = "LINUX_X64"
214214
)
215215

216216
savedRecord.shouldBeNone()

src/test/kotlin/io/sdkman/broker/application/service/VersionServiceSpec.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ class VersionServiceSpec : ShouldSpec({
120120
command shouldBe "install"
121121
candidate shouldBe "groovy"
122122
version shouldBe "4.0.0"
123-
platform shouldBe "LINUX_64"
123+
platform shouldBe "LINUX_X64"
124124
dist shouldBe "UNIVERSAL"
125125
vendor shouldBe none()
126126
host shouldBe testAuditContext.host

0 commit comments

Comments
 (0)