Пример #1
0
    def test_load_validations_group(self, mock_get_object_client):
        swiftclient = mock.MagicMock(url='http://swift:8080/v1/AUTH_test')
        swiftclient.get_container.side_effect = (
            ({}, []),  # no custom validations
            ({},
             [
                {'name': 'VALIDATION_GROUPS_1_2.yaml',
                 'groups': ['group1', 'group2']},
                {'name': 'VALIDATION_GROUP_1.yaml', 'groups': ['group1']},
                {'name': 'VALIDATION_WITH_METADATA.yaml'}
                ]
             )
        )
        swiftclient.get_object.side_effect = (
            ({}, VALIDATION_GROUPS_1_2),
            ({}, VALIDATION_GROUP_1),
            ({}, VALIDATION_WITH_METADATA),
        )
        mock_get_object_client.return_value = swiftclient

        my_validations = validations.load_validations(
            mock_get_object_client(), plan='overcloud', groups=['group1'])

        expected = [VALIDATION_GROUPS_1_2_PARSED, VALIDATION_GROUP_1_PARSED]
        self.assertEqual(expected, my_validations)
Пример #2
0
    def test_load_validations_group(self, mock_get_object_client):
        swiftclient = mock.MagicMock(url='http://swift:8080/v1/AUTH_test')
        swiftclient.get_container.side_effect = (
            ({}, []),  # no custom validations
            ({},
             [
                {'name': 'VALIDATION_GROUPS_1_2.yaml',
                 'groups': ['group1', 'group2']},
                {'name': 'VALIDATION_GROUP_1.yaml', 'groups': ['group1']},
                {'name': 'VALIDATION_WITH_METADATA.yaml'}
                ]
             )
        )
        swiftclient.get_object.side_effect = (
            ({}, VALIDATION_GROUPS_1_2),
            ({}, VALIDATION_GROUP_1),
            ({}, VALIDATION_WITH_METADATA),
        )
        mock_get_object_client.return_value = swiftclient

        my_validations = validations.load_validations(
            mock_get_object_client(), plan='overcloud', groups=['group1'])

        expected = [VALIDATION_GROUPS_1_2_PARSED, VALIDATION_GROUP_1_PARSED]
        self.assertEqual(expected, my_validations)
Пример #3
0
 def run(self, context):
     swift = self.get_object_client(context)
     try:
         return utils.load_validations(
             swift, plan=self.plan, groups=self.groups)
     except swiftexceptions.ClientException as err:
         msg = "Error loading validations from Swift: %s" % err
         return actions.Result(error={"msg": six.text_type(msg)})
Пример #4
0
 def run(self, context):
     swift = self.get_object_client(context)
     try:
         return utils.load_validations(swift,
                                       plan=self.plan,
                                       groups=self.groups)
     except swiftexceptions.ClientException as err:
         msg = "Error loading validations from Swift: %s" % err
         return actions.Result(error={"msg": six.text_type(msg)})
    def test_load_validations_no_group(self, mock_glob):
        mock_glob.return_value = ['VALIDATION_GROUP_1',
                                  'VALIDATION_WITH_METADATA']
        mock_open_context = mock.mock_open()
        mock_open_context().read.side_effect = [VALIDATION_GROUP_1,
                                                VALIDATION_WITH_METADATA]

        with mock.patch('tripleo_common.utils.validations.open',
                        mock_open_context):
            my_validations = validations.load_validations()

        expected = [VALIDATION_GROUP_1_PARSED, VALIDATION_WITH_METADATA_PARSED]
        self.assertEqual(expected, my_validations)
Пример #6
0
    def test_load_validations_no_group(self, mock_glob):
        mock_glob.return_value = [
            'VALIDATION_GROUP_1', 'VALIDATION_WITH_METADATA'
        ]
        mock_open_context = mock.mock_open()
        mock_open_context().read.side_effect = [
            VALIDATION_GROUP_1, VALIDATION_WITH_METADATA
        ]

        with mock.patch('tripleo_common.utils.validations.open',
                        mock_open_context):
            my_validations = validations.load_validations()

        expected = [VALIDATION_GROUP_1_PARSED, VALIDATION_WITH_METADATA_PARSED]
        self.assertEqual(expected, my_validations)
Пример #7
0
    def test_load_validations_custom_gets_picked_over_default(
            self, mock_get_object_client):
        swiftclient = mock.MagicMock(url='http://swift:8080/v1/AUTH_test')
        swiftclient.get_container.side_effect = (
            ({}, [{'name': 'FIRST_VALIDATION.yaml'}]),
            ({}, [{'name': 'FIRST_VALIDATION.yaml'}])
        )
        swiftclient.get_object.side_effect = (
            ({}, VALIDATION_CUSTOM),
            ({}, VALIDATION_DEFAULT)
        )
        mock_get_object_client.return_value = swiftclient

        my_validations = validations.load_validations(
            mock_get_object_client(), plan='overcloud')

        self.assertEqual(len(my_validations), 1)
        self.assertEqual('Custom validation', my_validations[0]['description'])
Пример #8
0
    def test_load_validations_custom_gets_picked_over_default(
            self, mock_get_object_client):
        swiftclient = mock.MagicMock(url='http://swift:8080/v1/AUTH_test')
        swiftclient.get_container.side_effect = (
            ({}, [{'name': 'FIRST_VALIDATION.yaml'}]),
            ({}, [{'name': 'FIRST_VALIDATION.yaml'}])
        )
        swiftclient.get_object.side_effect = (
            ({}, VALIDATION_CUSTOM),
            ({}, VALIDATION_DEFAULT)
        )
        mock_get_object_client.return_value = swiftclient

        my_validations = validations.load_validations(
            mock_get_object_client(), plan='overcloud')

        self.assertEqual(len(my_validations), 1)
        self.assertEqual('Custom validation', my_validations[0]['description'])
Пример #9
0
 def run(self):
     validations = utils.load_validations()
     return {
         group
         for validation in validations for group in validation['groups']
     }
Пример #10
0
 def run(self):
     return utils.load_validations(groups=self.groups)
Пример #11
0
 def run(self, context):
     validations = utils.load_validations()
     return {
         group for validation in validations
         for group in validation['groups']
     }
Пример #12
0
 def run(self, context):
     return utils.load_validations(groups=self.groups)