예제 #1
0
    def test_validate_chart_without_required_release_property(self):
        template_manifest = """
        schema: armada/Chart/v1
        metadata:
          schema: metadata/Document/v1
          name: example-chart
        data:
          chart_name: keystone
          namespace: undercloud
          timeout: 100
          install:
            no_hooks: false
          upgrade:
            no_hooks: false
          values: {}
          source:
            type: git
            location: git://github.com/example/example
            subpath: example-chart
            reference: master
          dependencies:
            - dep-chart
        """
        document = yaml.safe_load(template_manifest)
        is_valid, error = validate.validate_armada_document(document)
        expected_error = self._build_error_message(
            'armada/Chart/v1', 'example-chart',
            "'release' is a required property")

        self.assertFalse(is_valid)
        self.assertEqual(error[0]['message'], expected_error)
예제 #2
0
    def test_validate_manifest_without_required_release_prefix(self):
        template_manifest = """
        schema: armada/Manifest/v1
        metadata:
            schema: metadata/Document/v1
            name: example-manifest
        data:
            chart_groups:
                - example-group
        """
        document = yaml.safe_load(template_manifest)
        is_valid, error = validate.validate_armada_document(document)
        expected_error = self._build_error_message(
            'armada/Manifest/v1', 'example-manifest',
            "'release_prefix' is a required property")

        self.assertFalse(is_valid)
        self.assertEqual(error[0]['message'], expected_error)
예제 #3
0
    def test_validate_validate_group_without_required_chart_group(self):
        template_manifest = """
        schema: armada/ChartGroup/v1
        metadata:
            schema: metadata/Document/v1
            name: example-manifest
        data:
            description: this is sample
        """
        document = yaml.safe_load(template_manifest)
        is_valid, error = validate.validate_armada_document(document)

        expected_error = self._build_error_message(
            'armada/ChartGroup/v1', 'example-manifest',
            "'chart_group' is a required property")

        self.assertFalse(is_valid)
        self.assertEqual(error[0]['message'], expected_error)
예제 #4
0
    def test_validate_chart_passes(self):
        chart = yaml.safe_load(template_chart)
        is_valid, error = validate.validate_armada_document(chart)

        self.assertTrue(is_valid)
예제 #5
0
    def test_validate_manifest_passes(self):
        manifest = yaml.safe_load(template_manifest)
        is_valid, error = validate.validate_armada_document(manifest)

        self.assertTrue(is_valid)