aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Hwang <mhwang@research.att.com>2018-02-21 21:50:04 -0500
committerMichael Hwang <mhwang@research.att.com>2018-02-22 13:26:45 -0500
commitd914d08a70f018468e4b909a780c753ebce243e9 (patch)
tree5eecc06e3470fb6bb393d6d4fdb53636e8eaa7e8
parenta84db47e05743a5b97fcb7891e70b5a8ea215e9d (diff)
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 <mhwang@research.att.com>
-rw-r--r--pom.xml4
-rw-r--r--test/sch/asdc_client_test.clj21
-rw-r--r--test/sch/core_test.clj25
-rw-r--r--test/sch/handle_test.clj71
-rw-r--r--test/sch/inventory_client_test.clj59
-rw-r--r--version.properties2
6 files changed, 173 insertions, 9 deletions
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.
<parent>
<groupId>org.onap.oparent</groupId>
<artifactId>oparent</artifactId>
- <version>1.1.0-SNAPSHOT</version>
+ <version>0.1.1</version>
</parent>
<groupId>org.onap.dcaegen2.platform</groupId>
<artifactId>servicechange-handler</artifactId>
- <version>1.1.0</version>
+ <version>1.1.1</version>
<!-- Not sure why clojure-maven-plugin says packaging should be "clojure" -->
<packaging>jar</packaging>
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