diff options
-rw-r--r-- | src/sch/asdc_client.clj | 22 | ||||
-rw-r--r-- | test/sch/asdc_client_test.clj | 40 |
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)))) + )) |