From d2a2ee6b004821ba40f991a562df48c7d2c9b5d4 Mon Sep 17 00:00:00 2001 From: ansgarz Date: Sat, 19 Mar 2022 20:39:31 +0100 Subject: [PATCH] fix problem with potential wrong color due to success not overwritten in logic in printResults --- .../provs/framework/core/Prov.kt | 15 ++++++++++----- .../provs/desktop/infrastructure/VSCodeKtTest.kt | 9 ++++----- .../framework/ubuntu/user/ProvisionUserKtTest.kt | 3 ++- .../provs/server/infrastructure/NetworkKtTest.kt | 4 ++-- 4 files changed, 18 insertions(+), 13 deletions(-) diff --git a/src/main/kotlin/org/domaindrivenarchitecture/provs/framework/core/Prov.kt b/src/main/kotlin/org/domaindrivenarchitecture/provs/framework/core/Prov.kt index 17bbd3a..f6976b1 100644 --- a/src/main/kotlin/org/domaindrivenarchitecture/provs/framework/core/Prov.kt +++ b/src/main/kotlin/org/domaindrivenarchitecture/provs/framework/core/Prov.kt @@ -349,18 +349,23 @@ open class Prov protected constructor( private fun printResults() { println( - "============================================== SUMMARY " + (if (instanceName != null) "(" + instanceName + ") " else "") + + "============================================== SUMMARY " + + (if (instanceName != null) "(" + instanceName + ") " else "") + "============================================== " ) val successPerLevel = arrayListOf() for (result in internalResults) { val currentLevel = result.level - // store level result - val currentLevelSucces = result.provResult?.success ?: false - if (currentLevel >= successPerLevel.size) successPerLevel.add(currentLevelSucces) + // store level success + val successOfCurrentLevel = result.provResult?.success ?: false + if (currentLevel < successPerLevel.size) { + successPerLevel[currentLevel] = successOfCurrentLevel + } else { + successPerLevel.add(successOfCurrentLevel) + } - val successOfLevelAbove = if (currentLevel == 0) currentLevelSucces else successPerLevel[currentLevel - 1] + val successOfLevelAbove = if (currentLevel == 0) successOfCurrentLevel else successPerLevel[currentLevel - 1] println(result.toString().escapeControlChars().formattedAsResultLine(successOfLevelAbove)) } if (internalResults.size > 1) { diff --git a/src/test/kotlin/org/domaindrivenarchitecture/provs/desktop/infrastructure/VSCodeKtTest.kt b/src/test/kotlin/org/domaindrivenarchitecture/provs/desktop/infrastructure/VSCodeKtTest.kt index a9d28f2..0a30a22 100644 --- a/src/test/kotlin/org/domaindrivenarchitecture/provs/desktop/infrastructure/VSCodeKtTest.kt +++ b/src/test/kotlin/org/domaindrivenarchitecture/provs/desktop/infrastructure/VSCodeKtTest.kt @@ -1,16 +1,15 @@ package org.domaindrivenarchitecture.provs.desktop.infrastructure -import org.domaindrivenarchitecture.provs.test.defaultTestContainer import org.domaindrivenarchitecture.provs.framework.ubuntu.install.base.aptInstall -import org.domaindrivenarchitecture.provs.test.tags.ContainerTest +import org.domaindrivenarchitecture.provs.test.defaultTestContainer +import org.domaindrivenarchitecture.provs.test.tags.ExtensiveContainerTest +import org.junit.jupiter.api.Assertions.assertTrue import org.junit.jupiter.api.Test -import org.junit.jupiter.api.Assertions.* - internal class VSCodeKtTest { @Test - @ContainerTest + @ExtensiveContainerTest fun provisionAdditionalTools() { // given defaultTestContainer().aptInstall("curl unzip") diff --git a/src/test/kotlin/org/domaindrivenarchitecture/provs/framework/ubuntu/user/ProvisionUserKtTest.kt b/src/test/kotlin/org/domaindrivenarchitecture/provs/framework/ubuntu/user/ProvisionUserKtTest.kt index f7f84f5..1eed989 100644 --- a/src/test/kotlin/org/domaindrivenarchitecture/provs/framework/ubuntu/user/ProvisionUserKtTest.kt +++ b/src/test/kotlin/org/domaindrivenarchitecture/provs/framework/ubuntu/user/ProvisionUserKtTest.kt @@ -11,6 +11,7 @@ import org.domaindrivenarchitecture.provs.framework.ubuntu.user.base.configureUs import org.domaindrivenarchitecture.provs.framework.ubuntu.user.base.createUser import org.domaindrivenarchitecture.provs.framework.ubuntu.user.base.userExists import org.domaindrivenarchitecture.provs.framework.ubuntu.user.base.userIsInGroupSudo +import org.domaindrivenarchitecture.provs.test.tags.ExtensiveContainerTest import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertTrue import org.junit.jupiter.api.Test @@ -19,7 +20,7 @@ import org.junit.jupiter.api.Test internal class ProvisionUserKtTest { @Test - @ContainerTest + @ExtensiveContainerTest fun configureUser() { // given val a = defaultTestContainer() diff --git a/src/test/kotlin/org/domaindrivenarchitecture/provs/server/infrastructure/NetworkKtTest.kt b/src/test/kotlin/org/domaindrivenarchitecture/provs/server/infrastructure/NetworkKtTest.kt index c9f5139..69abf24 100644 --- a/src/test/kotlin/org/domaindrivenarchitecture/provs/server/infrastructure/NetworkKtTest.kt +++ b/src/test/kotlin/org/domaindrivenarchitecture/provs/server/infrastructure/NetworkKtTest.kt @@ -9,14 +9,14 @@ import org.domaindrivenarchitecture.provs.server.domain.k3s.K3sConfig import org.domaindrivenarchitecture.provs.server.domain.k3s.Loopback import org.domaindrivenarchitecture.provs.server.domain.k3s.Node import org.domaindrivenarchitecture.provs.test.defaultTestContainer -import org.domaindrivenarchitecture.provs.test.tags.ContainerTest +import org.domaindrivenarchitecture.provs.test.tags.ExtensiveContainerTest import org.junit.jupiter.api.Assertions.assertTrue import org.junit.jupiter.api.Test internal class NetworkKtTest { @Test - @ContainerTest + @ExtensiveContainerTest fun test_provisionNetwork() { // given val p = defaultTestContainer()