summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/sch/asdc_client.clj22
-rw-r--r--test/sch/asdc_client_test.clj40
2 files changed, 51 insertions, 11 deletions
diff --git a/src/sch/asdc_client.clj b/src/sch/asdc_client.clj
index a9742b3..b859f03 100644
--- a/src/sch/asdc_client.clj
+++ b/src/sch/asdc_client.clj
@@ -27,14 +27,12 @@
(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)]))
)
@@ -49,10 +47,11 @@
(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?
@@ -62,10 +61,11 @@
(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
index 0000000..ab84478
--- /dev/null
+++ b/test/sch/asdc_client_test.clj
@@ -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))))
+ ))