Skip to content

Commit 077a13b

Browse files
author
Ralf Steppacher
committed
#44097 implemented PR feedback
1 parent 77e690c commit 077a13b

7 files changed

Lines changed: 23 additions & 18 deletions

File tree

cdr-client-common/src/main/kotlin/com/swisscom/health/des/cdr/client/common/DTOs.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,9 @@ class DTOs {
137137
DISABLED(true),
138138
ERROR(true),
139139
BROKEN(true),
140-
AUTHN_ERROR(true),
141140
AUTHN_DENIED(true),
141+
AUTHN_COMMUNICATION_ERROR(true),
142+
AUTHN_UNKNOWN_ERROR(true),
142143
OFFLINE(false);
143144

144145
val isOfflineCategory: Boolean

cdr-client-service/src/main/kotlin/com/swisscom/health/des/cdr/client/config/OAuth2AuthNService.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,6 @@ internal class OAuth2AuthNService @OptIn(ExperimentalTime::class) constructor(
9292
// `ClientSecretBasic` is another option; it works in production, but our mock IdP is not set up to get the client id from the Basic Auth header,
9393
// instead we use the form parameter `client_id`
9494
val clientAuth: ClientAuthentication = ClientSecretPost(clientID, clientSecret)
95-
96-
@Suppress("SpreadOperator")
9795
val scope = Scope(idpCredentials.scope.scope)
9896
val tokenEndpoint: URI = idpEndpoint.toURI()
9997
val request = TokenRequest(tokenEndpoint, clientAuth, clientGrant, scope)

cdr-client-service/src/main/kotlin/com/swisscom/health/des/cdr/client/http/HealthIndicators.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ internal class HealthIndicators(
5555
UNAUTHENTICATED -> Health.status(AUTHN_UNAUTHENTICATED).withDetail("authNState", "no login attempted").build()
5656
AUTHENTICATED -> Health.status(AUTHN_AUTHENTICATED).withDetail("authNState", "JWT obtained").build()
5757
DENIED -> Health.status(AUTHN_DENIED).withDetail("authNState", "wrong credentials or IdP coordinates").build()
58-
RETRYABLE_FAILURE -> Health.status(AUTHN_FAILED_RETRY).withDetail("authNState", "io error (recoverable)").build()
59-
FAILED -> Health.status(AUTHN_FAILED_PERMANENT).withDetail("authNState", "unrecoverable error").build()
58+
RETRYABLE_FAILURE -> Health.status(AUTHN_COMMUNICATION_ERROR).withDetail("authNState", "io error (recoverable)").build()
59+
FAILED -> Health.status(AUTHN_UNKNOWN_ERROR).withDetail("authNState", "unrecoverable error").build()
6060
}
6161
}
6262

@@ -72,7 +72,7 @@ internal class HealthIndicators(
7272
const val AUTHN_AUTHENTICATED = "AUTHENTICATED"
7373
const val AUTHN_UNAUTHENTICATED = "UNAUTHENTICATED"
7474
const val AUTHN_DENIED = "DENIED"
75-
const val AUTHN_FAILED_RETRY = "FAILED_RETRY"
76-
const val AUTHN_FAILED_PERMANENT = "FAILED_PERMANENT"
75+
const val AUTHN_COMMUNICATION_ERROR = "COMMUNICATION_ERROR"
76+
const val AUTHN_UNKNOWN_ERROR = "UNKNOWN_ERROR"
7777
}
7878
}

cdr-client-service/src/main/kotlin/com/swisscom/health/des/cdr/client/http/WebOperations.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ import com.swisscom.health.des.cdr.client.handler.ConfigValidationService
1616
import com.swisscom.health.des.cdr.client.handler.ConfigurationWriter
1717
import com.swisscom.health.des.cdr.client.handler.ShutdownService
1818
import com.swisscom.health.des.cdr.client.http.HealthIndicators.Companion.AUTHN_AUTHENTICATED
19+
import com.swisscom.health.des.cdr.client.http.HealthIndicators.Companion.AUTHN_COMMUNICATION_ERROR
1920
import com.swisscom.health.des.cdr.client.http.HealthIndicators.Companion.AUTHN_DENIED
20-
import com.swisscom.health.des.cdr.client.http.HealthIndicators.Companion.AUTHN_FAILED_PERMANENT
21-
import com.swisscom.health.des.cdr.client.http.HealthIndicators.Companion.AUTHN_FAILED_RETRY
2221
import com.swisscom.health.des.cdr.client.http.HealthIndicators.Companion.AUTHN_INDICATOR_NAME
2322
import com.swisscom.health.des.cdr.client.http.HealthIndicators.Companion.AUTHN_UNAUTHENTICATED
23+
import com.swisscom.health.des.cdr.client.http.HealthIndicators.Companion.AUTHN_UNKNOWN_ERROR
2424
import com.swisscom.health.des.cdr.client.http.HealthIndicators.Companion.CONFIG_BROKEN
2525
import com.swisscom.health.des.cdr.client.http.HealthIndicators.Companion.CONFIG_ERROR
2626
import com.swisscom.health.des.cdr.client.http.HealthIndicators.Companion.CONFIG_INDICATOR_NAME
@@ -243,7 +243,8 @@ internal class WebOperations(
243243
} else if (!authNStatus.isNullOrBlank() && !(authNStatus == AUTHN_AUTHENTICATED || authNStatus == AUTHN_UNAUTHENTICATED)) {
244244
when (authNStatus) {
245245
AUTHN_DENIED -> DTOs.StatusResponse.StatusCode.AUTHN_DENIED
246-
AUTHN_FAILED_RETRY, AUTHN_FAILED_PERMANENT -> DTOs.StatusResponse.StatusCode.AUTHN_ERROR
246+
AUTHN_COMMUNICATION_ERROR -> DTOs.StatusResponse.StatusCode.AUTHN_COMMUNICATION_ERROR
247+
AUTHN_UNKNOWN_ERROR -> DTOs.StatusResponse.StatusCode.AUTHN_UNKNOWN_ERROR
247248
else -> DTOs.StatusResponse.StatusCode.UNKNOWN
248249
}
249250
} else if (!syncStatus.isNullOrBlank()) {

cdr-client-service/src/test/kotlin/com/swisscom/health/des/cdr/client/http/WebOperationsTest.kt

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,13 @@ import com.swisscom.health.des.cdr.client.handler.ConfigValidationService
2525
import com.swisscom.health.des.cdr.client.handler.ConfigurationWriter
2626
import com.swisscom.health.des.cdr.client.handler.ShutdownService
2727
import com.swisscom.health.des.cdr.client.http.HealthIndicators.Companion.AUTHN_AUTHENTICATED
28+
import com.swisscom.health.des.cdr.client.http.HealthIndicators.Companion.AUTHN_COMMUNICATION_ERROR
2829
import com.swisscom.health.des.cdr.client.http.HealthIndicators.Companion.AUTHN_DENIED
29-
import com.swisscom.health.des.cdr.client.http.HealthIndicators.Companion.AUTHN_FAILED_RETRY
30+
import com.swisscom.health.des.cdr.client.http.HealthIndicators.Companion.AUTHN_INDICATOR_NAME
31+
import com.swisscom.health.des.cdr.client.http.HealthIndicators.Companion.AUTHN_UNKNOWN_ERROR
3032
import com.swisscom.health.des.cdr.client.http.HealthIndicators.Companion.CONFIG_BROKEN
3133
import com.swisscom.health.des.cdr.client.http.HealthIndicators.Companion.CONFIG_ERROR
3234
import com.swisscom.health.des.cdr.client.http.HealthIndicators.Companion.CONFIG_INDICATOR_NAME
33-
import com.swisscom.health.des.cdr.client.http.HealthIndicators.Companion.AUTHN_INDICATOR_NAME
3435
import com.swisscom.health.des.cdr.client.http.HealthIndicators.Companion.CONFIG_OK
3536
import com.swisscom.health.des.cdr.client.http.HealthIndicators.Companion.FILE_SYNCHRONIZATION_INDICATOR_NAME
3637
import com.swisscom.health.des.cdr.client.http.HealthIndicators.Companion.FILE_SYNCHRONIZATION_STATUS_DISABLED
@@ -191,16 +192,17 @@ internal class WebOperationsTest {
191192
}
192193
val authNStatus = when (healthStatusString) {
193194
"DENIED" -> AUTHN_DENIED
194-
"AUTHN_FAILED_RETRY" -> AUTHN_FAILED_RETRY
195-
"AUTHN_FAILED_PERMANENT" -> AUTHN_FAILED_RETRY
195+
"AUTHN_COMMUNICATION_ERROR" -> AUTHN_COMMUNICATION_ERROR
196+
"AUTHN_UNKNOWN_ERROR" -> AUTHN_UNKNOWN_ERROR
196197
else -> AUTHN_AUTHENTICATED
197198
}
198199
val responseStatus = when (responseStatusString) {
199200
"SYNCHRONIZING" -> DTOs.StatusResponse.StatusCode.SYNCHRONIZING
200201
"DISABLED" -> DTOs.StatusResponse.StatusCode.DISABLED
201202
"BROKEN" -> DTOs.StatusResponse.StatusCode.BROKEN
202203
"ERROR" -> DTOs.StatusResponse.StatusCode.ERROR
203-
"AUTHN_ERROR" -> DTOs.StatusResponse.StatusCode.AUTHN_ERROR
204+
"AUTHN_COMMUNICATION_ERROR" -> DTOs.StatusResponse.StatusCode.AUTHN_COMMUNICATION_ERROR
205+
"AUTHN_UNKNOWN_ERROR" -> DTOs.StatusResponse.StatusCode.AUTHN_UNKNOWN_ERROR
204206
"AUTHN_DENIED" -> DTOs.StatusResponse.StatusCode.AUTHN_DENIED
205207
else -> DTOs.StatusResponse.StatusCode.UNKNOWN
206208
}

cdr-client-ui/src/commonMain/composeResources/values/strings.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@
5858
<string name="status_disabled">disabled</string>
5959
<string name="status_error">error</string>
6060
<string name="status_offline">offline</string>
61-
<string name="status_authn_error">login error</string>
61+
<string name="status_authn_communication_error">login communication error</string>
62+
<string name="status_authn_unknown_error">login unknown error</string>
6263
<string name="status_authn_denied">login denied</string>
6364
<string name="status_unknown">unknown</string>
6465

cdr-client-ui/src/commonMain/kotlin/com/swisscom/health/des/cdr/client/ui/CdrConfigScreen.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,9 @@ import com.swisscom.health.des.cdr.client.ui.cdr_client_ui.generated.resources.l
5050
import com.swisscom.health.des.cdr.client.ui.cdr_client_ui.generated.resources.label_enable_client_service
5151
import com.swisscom.health.des.cdr.client.ui.cdr_client_ui.generated.resources.label_enable_client_service_subtitle
5252
import com.swisscom.health.des.cdr.client.ui.cdr_client_ui.generated.resources.label_reset
53+
import com.swisscom.health.des.cdr.client.ui.cdr_client_ui.generated.resources.status_authn_communication_error
5354
import com.swisscom.health.des.cdr.client.ui.cdr_client_ui.generated.resources.status_authn_denied
54-
import com.swisscom.health.des.cdr.client.ui.cdr_client_ui.generated.resources.status_authn_error
55+
import com.swisscom.health.des.cdr.client.ui.cdr_client_ui.generated.resources.status_authn_unknown_error
5556
import com.swisscom.health.des.cdr.client.ui.cdr_client_ui.generated.resources.status_broken
5657
import com.swisscom.health.des.cdr.client.ui.cdr_client_ui.generated.resources.status_disabled
5758
import com.swisscom.health.des.cdr.client.ui.cdr_client_ui.generated.resources.status_error
@@ -229,7 +230,8 @@ private fun statusStringResource(status: DTOs.StatusResponse.StatusCode): String
229230
DTOs.StatusResponse.StatusCode.ERROR -> stringResource(Res.string.status_error)
230231
DTOs.StatusResponse.StatusCode.OFFLINE -> stringResource(Res.string.status_offline)
231232
DTOs.StatusResponse.StatusCode.BROKEN -> stringResource(Res.string.status_broken)
232-
DTOs.StatusResponse.StatusCode.AUTHN_ERROR -> stringResource(Res.string.status_authn_error)
233+
DTOs.StatusResponse.StatusCode.AUTHN_COMMUNICATION_ERROR -> stringResource(Res.string.status_authn_communication_error)
234+
DTOs.StatusResponse.StatusCode.AUTHN_UNKNOWN_ERROR -> stringResource(Res.string.status_authn_unknown_error)
233235
DTOs.StatusResponse.StatusCode.AUTHN_DENIED -> stringResource(Res.string.status_authn_denied)
234236
DTOs.StatusResponse.StatusCode.UNKNOWN -> stringResource(Res.string.status_unknown)
235237
}

0 commit comments

Comments
 (0)