Add dcae-cli and component-json-schemas projects
[dcaegen2/platform/cli.git] / dcae-cli / dcae_cli / util / tests / test_undeploy.py
1 # ============LICENSE_START=======================================================
2 # org.onap.dcae
3 # ================================================================================
4 # Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
5 # ================================================================================
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
9 #
10 #      http://www.apache.org/licenses/LICENSE-2.0
11 #
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 # ============LICENSE_END=========================================================
18 #
19 # ECOMP is a trademark and service mark of AT&T Intellectual Property.
20
21 # -*- coding: utf-8 -*-
22 '''
23 Provides tests for the undeploy module
24 '''
25 from dcae_cli.util.undeploy import _handler, _handler_report
26
27 def test_handler():
28     instances = set(["some-instance-name", "another-instance-name"])
29
30     def fake_remove_config(config_key):
31         return True
32
33     def undeploy_success(config_key):
34         return True
35
36     failures, results = _handler([undeploy_success, fake_remove_config], instances)
37
38     assert len(results) == 2
39     assert len(failures) == 0
40
41     def undeploy_failure(config_key):
42         return False
43
44     failures, results = _handler([undeploy_failure, fake_remove_config], instances)
45
46     assert len(results) == 2
47     assert len(failures) == 2
48
49     def undeploy_failure_sometimes(config_key):
50         if "some-instance-name" == config_key:
51             return False
52         return True
53
54     failures, results = _handler([undeploy_failure_sometimes, fake_remove_config], instances)
55
56     assert len(results) == 2
57     assert len(failures) == 1
58
59     failures, results = _handler([undeploy_success, fake_remove_config], [])
60
61     assert len(results) == 0
62     assert len(failures) == 0