Use activateServerTLSAuth in asdc_client 95/19795/1
authorMichael Hwang <mhwang@research.att.com>
Thu, 19 Oct 2017 18:31:55 +0000 (14:31 -0400)
committerMichael Hwang <mhwang@research.att.com>
Thu, 19 Oct 2017 19:38:03 +0000 (15:38 -0400)
This is to support insecure testing

Change-Id: I8343e3b453ac1a35110bd6c59d0d56d9170a0451
Issue-Id: DCAEGEN2-170
Signed-off-by: Michael Hwang <mhwang@research.att.com>
src/sch/asdc_client.clj
test/sch/asdc_client_test.clj [new file with mode: 0644]

index a9742b3..b859f03 100644 (file)
 
 
 (defn create-asdc-conn
-
-  ([asdc-uri user password consumer-id]
-   [(uri asdc-uri) user password consumer-id])
-
   ([config]
-   (let [config-asdc (:asdcDistributionClient config)]
-     (create-asdc-conn (:asdcUri config-asdc) (:user config-asdc)
-                       (:password config-asdc) (:consumerId config-asdc))))
+   (let [config-asdc (:asdcDistributionClient config)
+         { :keys [asdcUri user password consumerId activateServerTLSAuth] } config-asdc]
+     ; The last entry is passed into clj-http's "insecure?" parameter which is
+     ; why "activateServerTLSAuth" is negated
+     [(uri asdcUri) user password consumerId (not activateServerTLSAuth)]))
   )
 
 
 
 (defn get-artifact!
   [connection artifact-path]
-  (let [[asdc-uri user password instance-id] connection
+  (let [[asdc-uri user password instance-id insecure?] connection
         target-uri (assoc asdc-uri :path artifact-path)
         resp (client/get (str target-uri) { :basic-auth [user password]
-                                            :headers { "X-ECOMP-InstanceID" instance-id } })]
+                                            :headers { "X-ECOMP-InstanceID" instance-id }
+                                            :insecure? insecure? })]
     (if (= (:status resp) 200)
       ; Response media type is application/octet-stream
       ; TODO: Use X-ECOMP-RequestID?
 
 (defn get-service-metadata!
   [connection service-uuid]
-  (let [[asdc-uri user password instance-id] connection
+  (let [[asdc-uri user password instance-id insecure?] connection
         target-uri (assoc asdc-uri :path (construct-service-path service-uuid))
         resp (client/get (str target-uri) { :basic-auth [user password]
-                                            :headers { "X-ECOMP-InstanceID" instance-id } })]
+                                            :headers { "X-ECOMP-InstanceID" instance-id }
+                                            :insecure? insecure? })]
     (if (= (:status resp) 200)
       ; Response media type is application/octet-stream
       ; TODO: Use X-ECOMP-RequestID?
diff --git a/test/sch/asdc_client_test.clj b/test/sch/asdc_client_test.clj
new file mode 100644 (file)
index 0000000..ab84478
--- /dev/null
@@ -0,0 +1,40 @@
+; ============LICENSE_START=======================================================
+; org.onap.dcae
+; ================================================================================
+; Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
+; ================================================================================
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+;      http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+; ============LICENSE_END=========================================================
+;
+; ECOMP is a trademark and service mark of AT&T Intellectual Property.
+
+(ns sch.asdc-client-test
+  (:use (clojure test))
+  (:require [sch.asdc-client :refer [create-asdc-conn]])
+  )
+
+(deftest test-create-asdc-conn
+  (let [config-good { :asdcUri "https://asdc-please-work:8443"
+                      :user "foo-user"
+                      :password "foo-password"
+                      :consumerId "foo-id"
+                      :activateServerTLSAuth true }
+        actual (create-asdc-conn { :asdcDistributionClient config-good })
+        [uri user password consumer-id insecure?] actual
+        ]
+    (is (= (str uri) (:asdcUri config-good)))
+    (is (= user (:user config-good)))
+    (is (= password (:password config-good)))
+    (is (= consumer-id (:consumerId config-good)))
+    (is (= insecure? (not (:activateServerTLSAuth config-good))))
+    ))