示例#1
0
    def _generate_template(self):
        t = heat.Template()

        t.add_parameter(heat.Parameter('param-1', 'type-1'))
        t.add_parameter(heat.Parameter('param-2', 'type-2'))

        t.add_output(heat.Output('out-1', 'value-1'))
        t.add_output(heat.Output('out-2', 'value-2'))

        return t
示例#2
0
    def test_find_parameter_by_name(self):
        # Setup
        t = heat.Template()
        t.add_parameter(heat.Parameter('a', 'a1'))
        t.add_parameter(heat.Parameter('b', 'b1'))

        # Test
        found = t.find_parameter_by_name('b')

        # Verify
        self.assertTrue(found is not None)
        self.assertEqual(found.param_type, 'b1')
示例#3
0
    def test_remove_parameters_by_namespace(self):
        # Setup
        t = heat.Template()
        p1 = heat.Parameter(ns.apply_template_namespace('ns1', 'foo'), 't')
        p2 = heat.Parameter(ns.apply_template_namespace('ns2', 'bar'), 't')
        p3 = heat.Parameter(ns.apply_template_namespace('ns1', 'baz'), 't')

        t.add_parameter(p1)
        t.add_parameter(p2)
        t.add_parameter(p3)

        # Test
        t.remove_parameters_by_namespace('ns1')

        # Verify
        self.assertEqual(1, len(t.parameters))
        self.assertEqual(p2, t.parameters[0])
示例#4
0
    def test_add_template_with_default_parameter_value(self):
        # Test
        p = plan.DeploymentPlan()
        t = heat.Template()
        t.add_parameter(heat.Parameter('param-1', 'type-1', default='d1'))
        t.add_parameter(heat.Parameter('param-2', 'type-2'))
        p.add_template('ns1', t, 'template-1.yaml')

        # Verify
        p1 = p.environment.parameters[0]
        self.assertEqual(ns_utils.apply_template_namespace('ns1', 'param-1'),
                         p1.name)
        self.assertEqual('d1', p1.value)

        p2 = p.environment.parameters[1]
        self.assertEqual(ns_utils.apply_template_namespace('ns1', 'param-2'),
                         p2.name)
        self.assertEqual('', p2.value)
示例#5
0
    def _sample_template(self):
        t = heat.Template(description='template-desc')

        # Complex Parameter
        param = heat.Parameter('p1',
                               't1',
                               description='desc-1',
                               label='l1',
                               default='def-1',
                               hidden=True)
        param.add_constraint(
            heat.ParameterConstraint('t1', 'def-1', description='desc-1'))
        t.add_parameter(param)

        # Simple Parameter
        t.add_parameter(heat.Parameter('p2', 't2'))

        # Simple Parameter Group
        t.add_parameter_group(heat.ParameterGroup('l1'))

        # Complex Parameter Group
        group = heat.ParameterGroup('l2', description='d2')
        group.add_parameter_name('foo', 'bar', 'baz')
        t.add_parameter_group(group)

        # Complex Resource
        resource = heat.Resource('r1',
                                 't1',
                                 metadata='m1',
                                 depends_on='r2',
                                 update_policy={'u1': 'u2'},
                                 deletion_policy={'d1': 'd2'})
        t.add_resource(resource)

        # Simple Resource
        t.add_resource(heat.Resource('r2', 't2'))

        # Complex Output
        t.add_output(heat.Output('n1', 'v1', description='desc-1'))

        # Simple Output
        t.add_output(heat.Output('n2', 'v2'))

        return t
示例#6
0
    def test_add_template_with_colliding_namespace(self):
        # Test
        p = plan.DeploymentPlan()
        p.environment.add_parameter(
            heat.EnvironmentParameter('ns1::param-1', 'value-1'))
        t = heat.Template()
        t.add_parameter(heat.Parameter('param-2', 'type-1'))

        # Verify
        self.assertRaises(ValueError, p.add_template, 'ns1', t,
                          'template-1.yaml')
示例#7
0
    def test_add_remove_parameter(self):
        t = heat.Template()
        p = heat.Parameter('test-param', 'test-type')

        # Test Add
        t.add_parameter(p)
        self.assertEqual(1, len(t.parameters))
        self.assertEqual(p, t.parameters[0])

        # Test Remove
        t.remove_parameter(p)
        self.assertEqual(0, len(t.parameters))
示例#8
0
    def test_add_remove_constraint(self):
        p = heat.Parameter('n', 't')
        c = heat.ParameterConstraint('t', 'd')

        # Test Add
        p.add_constraint(c)
        self.assertEqual(1, len(p.constraints))
        self.assertEqual(c, p.constraints[0])

        # Test Remove
        p.remove_constraint(c)
        self.assertEqual(0, len(p.constraints))
示例#9
0
    def test_init(self):
        # Test
        p = heat.Parameter('test-name',
                           'test-type',
                           description='test-desc',
                           label='test-label',
                           default='test-default',
                           hidden='test-hidden')
        str(p)  # should not error

        # Verify
        self.assertEqual('test-name', p.name)
        self.assertEqual('test-type', p.param_type)
        self.assertEqual('test-desc', p.description)
        self.assertEqual('test-label', p.label)
        self.assertEqual('test-default', p.default)
        self.assertEqual('test-hidden', p.hidden)
示例#10
0
 def test_remove_parameter_not_found(self):
     t = heat.Template()
     self.assertRaises(ValueError, t.remove_parameter,
                       heat.Parameter('n', 't'))
示例#11
0
 def test_remove_constraint_not_found(self):
     p = heat.Parameter('n', 't')
     self.assertRaises(ValueError, p.remove_constraint,
                       heat.ParameterConstraint('t', 'd'))