From d914d08a70f018468e4b909a780c753ebce243e9 Mon Sep 17 00:00:00 2001 From: Michael Hwang Date: Wed, 21 Feb 2018 21:50:04 -0500 Subject: Increase unit test coverage Also updated pom to use 0.1.1 of oparent Change-Id: I3af9fd23583bf8de34e3412494d1bc4a99fe4630 Issue-ID: DCAEGEN2-260 Signed-off-by: Michael Hwang --- pom.xml | 4 +-- test/sch/asdc_client_test.clj | 21 +++++++++-- test/sch/core_test.clj | 25 ++++++++++++-- test/sch/handle_test.clj | 71 +++++++++++++++++++++++++++++++++++++- test/sch/inventory_client_test.clj | 59 +++++++++++++++++++++++++++++++ version.properties | 2 +- 6 files changed, 173 insertions(+), 9 deletions(-) create mode 100644 test/sch/inventory_client_test.clj diff --git a/pom.xml b/pom.xml index 760a2df..e40e352 100644 --- a/pom.xml +++ b/pom.xml @@ -27,13 +27,13 @@ ECOMP is a trademark and service mark of AT&T Intellectual Property. org.onap.oparent oparent - 1.1.0-SNAPSHOT + 0.1.1 org.onap.dcaegen2.platform servicechange-handler - 1.1.0 + 1.1.1 jar diff --git a/test/sch/asdc_client_test.clj b/test/sch/asdc_client_test.clj index ab84478..974dd40 100644 --- a/test/sch/asdc_client_test.clj +++ b/test/sch/asdc_client_test.clj @@ -1,7 +1,7 @@ ; ============LICENSE_START======================================================= ; org.onap.dcae ; ================================================================================ -; Copyright (c) 2017 AT&T Intellectual Property. All rights reserved. +; Copyright (c) 2017-2018 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. @@ -20,16 +20,17 @@ (ns sch.asdc-client-test (:use (clojure test)) - (:require [sch.asdc-client :refer [create-asdc-conn]]) + (:require [sch.asdc-client :as ac]) ) + (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 }) + actual (ac/create-asdc-conn { :asdcDistributionClient config-good }) [uri user password consumer-id insecure?] actual ] (is (= (str uri) (:asdcUri config-good))) @@ -38,3 +39,17 @@ (is (= consumer-id (:consumerId config-good))) (is (= insecure? (not (:activateServerTLSAuth config-good)))) )) + + +(deftest test-get-consumer-id + (let [consumer-id "SOME-CONSUMER-ID" + asdc-conn [nil nil nil consumer-id nil]] + (is (= consumer-id (ac/get-consumer-id asdc-conn))) + )) + + +(deftest test-construct-service-path + (let [service-uuid "abc123"] + (is (= "/sdc/v1/catalog/services/abc123/metadata" + (ac/construct-service-path service-uuid))) + )) diff --git a/test/sch/core_test.clj b/test/sch/core_test.clj index c0682f4..e441343 100644 --- a/test/sch/core_test.clj +++ b/test/sch/core_test.clj @@ -1,7 +1,7 @@ ; ============LICENSE_START======================================================= ; org.onap.dcae ; ================================================================================ -; Copyright (c) 2017 AT&T Intellectual Property. All rights reserved. +; Copyright (c) 2017-2018 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. @@ -20,9 +20,30 @@ (ns sch.core-test (:use (clojure test)) - (:require [sch.core :refer [create-distribution-client-config]]) + (:require [sch.core :refer [create-distribution-client-config deploy-artifacts-ex!]]) + (:import (org.openecomp.sdc.utils DistributionStatusEnum)) ) + +(deftest test-deploy-artifacts-ex + (letfn [(deploy-artifacts-echo [to-post posted to-delete deleted inventory-uri + service-metadata requests] + to-post posted to-delete deleted) + (send-dist-status-only-ok [artifact status] + (if (not= (. DistributionStatusEnum ALREADY_DEPLOYED) status) + (throw (Exception. "Distribution status should be ALREADY DEPLOYED")) + ))] + (let [service-metadata [{:resources [{:resourceInvariantUUID "123" + :artifacts [:artifactName "type-foo"] + }]}] + requests [{:asdcResourceId "123" :typeName "type-foo"}] + deploy-artifacts (partial deploy-artifacts-echo requests [] [] []) + nada (intern 'sch.handle 'deploy-artifacts! deploy-artifacts) + ] + (is (= nil (deploy-artifacts-ex! "http://inventory" service-metadata requests send-dist-status-only-ok))) + ))) + + (deftest test-create-distribution-client-config (let [config { :asdcDistributionClient { :environmentName "ONAP-AMDOCS" :asdcAddress "10.0.3.1:8443" diff --git a/test/sch/handle_test.clj b/test/sch/handle_test.clj index 9cbf9f7..3ff0618 100644 --- a/test/sch/handle_test.clj +++ b/test/sch/handle_test.clj @@ -1,7 +1,7 @@ ; ============LICENSE_START======================================================= ; org.onap.dcae ; ================================================================================ -; Copyright (c) 2017 AT&T Intellectual Property. All rights reserved. +; Copyright (c) 2017-2018 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. @@ -24,6 +24,75 @@ [sch.handle :refer :all]) ) + +(deftest test-should-update + (is (= false (should-update? {:typeVersion 2} {:typeVersion 3}))) + (is (= true (should-update? {:typeVersion 3} {:typeVersion 2}))) + ) + + +(deftest test-should-insert + (is (= true (should-insert? {} nil))) + (is (= true (should-insert? {} {}))) + (is (= false (should-insert? {} {:somekey "yo"}))) + ) + + +(deftest test-find-service-types-to-post + (letfn [(fake-get-service-types [result inventory-uri query-params] + result)] + (let [find-service-types-to-post #'sch.handle/find-service-types-to-post! + service-type-requests [{:typeName "some-type" :asdcServiceId "abc" + :asdcResourceId "123" :typeVersion 3}] + fake-get-service-types-insert (partial fake-get-service-types {}) + nada (intern 'sch.inventory-client 'get-service-types! fake-get-service-types-insert)] + (is (= service-type-requests (find-service-types-to-post "http://inventory" + service-type-requests))) + ))) + + +(deftest test-post-service-types + (letfn [(fake-post-service-type [inventory-uri request] + (assoc request :typeId "123"))] + (let [service-type-requests [{:typeName "some-type" :asdcServiceId "abc" + :asdcResourceId "123" :typeVersion 3}] + post-service-types #'sch.handle/post-service-types! + nada (intern 'sch.inventory-client 'post-service-type! fake-post-service-type)] + (is (= {:typeId "123" :typeName "some-type" :asdcServiceId "abc" + :asdcResourceId "123" :typeVersion 3} + (first (post-service-types "http://inventory" service-type-requests)))) + ))) + + +(deftest test-find-service-types-to-delete + (letfn [(fake-get-service-types [result inventory-uri query-params] + result)] + (let [find-service-types-to-delete #'sch.handle/find-service-types-to-delete! + service-type-requests [{:typeName "some-type" :asdcServiceId "abc" + :asdcResourceId "123" :typeVersion 3}] + fake-get-service-types-delete (partial fake-get-service-types + [{ :typeName "some-type" + :asdcServiceId "abc" + :asdcResourceId "456" + :typeVersion 3 }]) + nada (intern 'sch.inventory-client 'get-service-types! + fake-get-service-types-delete)] + (is (= 1 (count (find-service-types-to-delete "http://inventory" "abc" + service-type-requests)))) + ))) + + +(deftest test-delete-service-types + (letfn [(fake-delete-service-type [inventory-uri type-id] + type-id)] + (let [service-type-requests [{:typeId "def" :typeName "some-type" + :asdcServiceId "abc" :asdcResourceId "123" :typeVersion 3}] + delete-service-types #'sch.handle/delete-service-types! + nada (intern 'sch.inventory-client 'delete-service-type! fake-delete-service-type)] + (is (= "def" (first (delete-service-types "http://inventory" service-type-requests)))) + ))) + + (deftest deployed-funcs-test (let [requests [{:asdcResourceId "123" :typeName "pizza"} {:asdcResourceId "456" :typeName "hamburger"} diff --git a/test/sch/inventory_client_test.clj b/test/sch/inventory_client_test.clj new file mode 100644 index 0000000..86f369c --- /dev/null +++ b/test/sch/inventory_client_test.clj @@ -0,0 +1,59 @@ +; ============LICENSE_START======================================================= +; org.onap.dcae +; ================================================================================ +; Copyright (c) 2017-2018 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.inventory-client-test + (:use (clojure test)) + (:require [sch.inventory-client :as ic] + [cheshire.core :refer [generate-string]]) + ) + + +(deftest test-create-inventory-conn + (let [inventory-uri "http://inventory"] + (is (= inventory-uri (str (ic/create-inventory-conn {:dcaeInventoryClient {:uri inventory-uri}})))) + )) + + +(deftest append-params + (let [append-params #'sch.inventory-client/append-params] + (is (= "http://inventory?some-field=some-value" (append-params "http://inventory" ["some-field" "some-value"]))) + )) + + +(deftest test-get-service-types + (letfn [(fake-get [result url request] + {:status 200 :body result})] + (let [results {:items [{:typeId "123"}]} + conn (ic/create-inventory-conn "http://inventory") + fake-get-success (partial fake-get (generate-string results)) + nada (intern 'clj-http.client 'get fake-get-success)] + (is (= (:items results) (ic/get-service-types! conn []))) + ))) + + +(deftest test-post-service-types + (letfn [(fake-post [result url request] + {:status 200 :body result})] + (let [result {:typeId "123"} + conn (ic/create-inventory-conn "http://inventory") + fake-post-success (partial fake-post (generate-string result)) + nada (intern 'clj-http.client 'post fake-post-success)] + (is (= result (ic/post-service-type! conn {}))) + ))) diff --git a/version.properties b/version.properties index 73415a7..11ad59d 100644 --- a/version.properties +++ b/version.properties @@ -1,6 +1,6 @@ major=1 minor=1 -patch=0 +patch=1 base_version=${major}.${minor}.${patch} release_version=${base_version} snapshot_version=${base_version}-SNAPSHOT -- cgit 1.2.3-korg