Address some pendings items for SSLBasicAuthRestClient 03/119703/5
authorClaudio D. Gasparini <claudio.gasparini@intl.att.com>
Wed, 24 Mar 2021 08:43:40 +0000 (09:43 +0100)
committerKAPIL SINGAL <ks220y@att.com>
Thu, 25 Mar 2021 17:00:57 +0000 (17:00 +0000)
- FIXME under SSLBasicAuthRestClientProperties
- TODO under SSLBasicAuthRestClientPropertiesBuilder

Issue-ID: CCSDK-3235
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@intl.att.com>
Change-Id: If00c7491573c69eb5d3f9192f54c7b384943abf7

ms/blueprintsprocessor/modules/commons/rest-lib/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/rest/BlueprintRestLibData.kt
ms/blueprintsprocessor/modules/commons/rest-lib/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/rest/RestClientPropertiesDSL.kt
ms/blueprintsprocessor/modules/commons/rest-lib/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/rest/service/BlueprintRestLibPropertyService.kt
ms/blueprintsprocessor/modules/commons/rest-lib/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/rest/service/SSLRestClientService.kt
ms/blueprintsprocessor/modules/commons/rest-lib/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/rest/service/BlueprintRestLibPropertyServiceTest.kt

index a227cf2..01011cc 100644 (file)
@@ -35,10 +35,9 @@ open class SSLRestClientProperties : RestClientProperties() {
     var sslKeyPassword: String? = null
 }
 
-// FIXME("Define basic auth userName and password properties")
 open class SSLBasicAuthRestClientProperties : SSLRestClientProperties() {
-
-    var basicAuth: BasicAuthRestClientProperties? = null
+    lateinit var password: String
+    lateinit var username: String
 }
 
 // FIXME("Define token properties")
index 45b9e38..b1692d9 100644 (file)
@@ -77,6 +77,10 @@ open class RestClientRelationshipTemplateBuilder(name: String, description: Stri
         property(BlueprintConstants.PROPERTY_CONNECTION_CONFIG, BlueprintTypes.tokenAuthRestClientProperties(block))
     }
 
+    fun sslBasicAuth(block: SSLBasicAuthRestClientPropertiesBuilder.() -> Unit) {
+        property(BlueprintConstants.PROPERTY_CONNECTION_CONFIG, BlueprintTypes.sslBasicAuthRestClientProperties(block))
+    }
+
     fun sslAuth(block: SslAuthRestClientPropertiesAssignmentBuilder.() -> Unit) {
         property(BlueprintConstants.PROPERTY_CONNECTION_CONFIG, BlueprintTypes.sslRestClientProperties(block))
     }
@@ -94,6 +98,12 @@ fun BlueprintTypes.tokenAuthRestClientProperties(block: TokenAuthRestClientPrope
     return assignments.asJsonType()
 }
 
+fun BlueprintTypes.sslBasicAuthRestClientProperties(block: SSLBasicAuthRestClientPropertiesBuilder.() -> Unit): JsonNode {
+    val assignments = SSLBasicAuthRestClientPropertiesBuilder().apply(block).build()
+    assignments[RestClientProperties::type.name] = RestLibConstants.TYPE_SSL_BASIC_AUTH.asJsonPrimitive()
+    return assignments.asJsonType()
+}
+
 fun BlueprintTypes.sslRestClientProperties(block: SslAuthRestClientPropertiesAssignmentBuilder.() -> Unit): JsonNode {
     val assignments = SslAuthRestClientPropertiesAssignmentBuilder().apply(block).build()
     assignments[RestClientProperties::type.name] = RestLibConstants.TYPE_SSL_NO_AUTH.asJsonPrimitive()
@@ -182,10 +192,32 @@ open class SslAuthRestClientPropertiesAssignmentBuilder : RestClientPropertiesAs
     open fun sslKeyPassword(sslKeyPassword: JsonNode) {
         property(SSLRestClientProperties::sslKeyPassword, sslKeyPassword)
     }
+
+    open fun sslTrustIgnoreHostname(sslTrustIgnoreHostname: String) {
+        sslTrustIgnoreHostname(sslTrustIgnoreHostname.asJsonPrimitive())
+    }
+
+    open fun sslTrustIgnoreHostname(sslTrustIgnoreHostname: JsonNode) {
+        property(SSLRestClientProperties::sslTrustIgnoreHostname, sslTrustIgnoreHostname)
+    }
 }
 
 open class SSLBasicAuthRestClientPropertiesBuilder : SslAuthRestClientPropertiesAssignmentBuilder() {
-    // TODO()
+    open fun password(password: String) {
+        password(password.asJsonPrimitive())
+    }
+
+    open fun password(password: JsonNode) {
+        property(SSLBasicAuthRestClientProperties::password, password)
+    }
+
+    open fun username(username: String) {
+        username(username.asJsonPrimitive())
+    }
+
+    open fun username(username: JsonNode) {
+        property(SSLBasicAuthRestClientProperties::username, username)
+    }
 }
 
 open class SSLTokenAuthRestClientPropertiesBuilder : SslAuthRestClientPropertiesAssignmentBuilder() {
index d28bd77..c6d2ed9 100644 (file)
@@ -160,20 +160,11 @@ open class BlueprintRestLibPropertyService(private var bluePrintPropertiesServic
             )
         }
 
-    private fun sslBasicAuthRestClientProperties(prefix: String):
-        SSLRestClientProperties {
-
-            val sslProps: SSLBasicAuthRestClientProperties =
-                bluePrintPropertiesService.propertyBeanType(
-                    prefix, SSLBasicAuthRestClientProperties::class.java
-                )
-            val basicProps: BasicAuthRestClientProperties =
-                bluePrintPropertiesService.propertyBeanType(
-                    prefix, BasicAuthRestClientProperties::class.java
-                )
-            sslProps.basicAuth = basicProps
-            return sslProps
-        }
+    private fun sslBasicAuthRestClientProperties(prefix: String): SSLRestClientProperties {
+        return bluePrintPropertiesService.propertyBeanType(
+            prefix, SSLBasicAuthRestClientProperties::class.java
+        )
+    }
 
     private fun sslTokenAuthRestClientProperties(prefix: String):
         SSLRestClientProperties {
index 86e3ced..a8d79b6 100644 (file)
@@ -23,6 +23,7 @@ import org.apache.http.impl.client.CloseableHttpClient
 import org.apache.http.impl.client.HttpClients
 import org.apache.http.message.BasicHeader
 import org.apache.http.ssl.SSLContextBuilder
+import org.onap.ccsdk.cds.blueprintsprocessor.rest.BasicAuthRestClientProperties
 import org.onap.ccsdk.cds.blueprintsprocessor.rest.SSLBasicAuthRestClientProperties
 import org.onap.ccsdk.cds.blueprintsprocessor.rest.SSLRestClientProperties
 import org.onap.ccsdk.cds.blueprintsprocessor.rest.SSLTokenAuthRestClientProperties
@@ -48,7 +49,9 @@ class SSLRestClientService(private val restClientProperties: SSLRestClientProper
         // set them in auth obj to be consistent. TODO: refactor
         return when (restClientProperties) {
             is SSLBasicAuthRestClientProperties -> {
-                val basicAuthProps = restClientProperties.basicAuth!!
+                val basicAuthProps = BasicAuthRestClientProperties()
+                basicAuthProps.username = restClientProperties.username
+                basicAuthProps.password = restClientProperties.password
                 basicAuthProps.additionalHeaders = restClientProperties.additionalHeaders
                 basicAuthProps.url = restClientProperties.url
                 basicAuthProps.type = restClientProperties.type
index 117fbbd..8843ff7 100644 (file)
@@ -102,8 +102,8 @@ class BlueprintRestLibPropertyServiceTest {
         val p: SSLBasicAuthRestClientProperties =
             properties as SSLBasicAuthRestClientProperties
 
-        assertEquals(p.basicAuth!!.username, "admin")
-        assertEquals(p.basicAuth!!.password, "cds")
+        assertEquals(p.username, "admin")
+        assertEquals(p.password, "cds")
         assertEquals(p.sslTrust, "src/test/resources/keystore.p12")
         assertEquals(p.sslTrustPassword, "changeit")
         assertEquals(p.keyStoreInstance, "PKCS12")
@@ -151,8 +151,8 @@ class BlueprintRestLibPropertyServiceTest {
         assertNotNull(properties, "failed to create property bean")
         val p: SSLBasicAuthRestClientProperties = properties as SSLBasicAuthRestClientProperties
 
-        assertEquals("admin", p.basicAuth!!.username)
-        assertEquals("cds", p.basicAuth!!.password)
+        assertEquals("admin", p.username)
+        assertEquals("cds", p.password)
         assertEquals("src/test/resources/keystore.p12", p.sslTrust)
         assertEquals("changeit", p.sslTrustPassword)
         assertEquals("PKCS12", p.keyStoreInstance)
@@ -464,10 +464,8 @@ class BlueprintRestLibPropertyServiceTest {
           "keyStoreInstance" : "PKCS12",
           "sslTrust" : "src/test/resources/keystore.p12",
           "sslTrustPassword" : "changeit",
-          "basicAuth" : {
-            "username" : "admin",
-            "password" : "cds"
-          }$headers
+          "username" : "admin",
+          "password" : "cds"$headers
         }
             """.trimIndent()