def test_create(self):
        databases = []
        databases.append({"name": "firstdb", "character_set": "latin2",
                          "collate": "latin2_general_ci"})
        databases.append({"name": "db2"})
        instance_info.databases = databases
        users = []
        users.append({"name": "lite", "password": "******",
                      "databases": [{"name": "firstdb"}]})
        instance_info.users = users
        if test_config.values['reddwarf_main_instance_has_volume']:
            instance_info.volume = {'size': 1}
        else:
            instance_info.volume = None

        if create_new_instance():
            instance_info.initial_result = dbaas.instances.create(
                                               instance_info.name,
                                               instance_info.dbaas_flavor_href,
                                               instance_info.volume,
                                               databases, users)
        else:
            id = existing_instance()
            instance_info.initial_result = dbaas.instances.get(id)

        result = instance_info.initial_result
        instance_info.id = result.id
        if WHITE_BOX:
            instance_info.local_id = dbapi.localid_from_uuid(result.id)

        report.log("Instance UUID = %s" % instance_info.id)
        if create_new_instance():
            if WHITE_BOX:
                building = dbaas_mapping[power_state.BUILDING]
                assert_equal(result.status, building)
            assert_equal("BUILD", instance_info.initial_result.status)

        else:
            report.log("Test was invoked with TESTS_USE_INSTANCE_ID=%s, so no "
                       "instance was actually created." % id)
            if WHITE_BOX:
                report.log("Local id = %d" % instance_info.get_local_id())

        # Check these attrs only are returned in create response
        expected_attrs = ['created', 'flavor', 'addresses', 'id', 'links',
                          'name', 'status', 'updated']
        if test_config.values['reddwarf_can_have_volume']:
            expected_attrs.append('volume')
        if test_config.values['reddwarf_dns_support']:
            expected_attrs.append('hostname')

        with CheckInstance(result._info) as check:
            if create_new_instance():
                check.attrs_exist(result._info, expected_attrs,
                                  msg="Create response")
            # Don't CheckInstance if the instance already exists.
            check.flavor()
            check.links(result._info['links'])
            if test_config.values['reddwarf_can_have_volume']:
                check.volume()
    def _create_instance(self):
        """Makes a call to create an instance.

         The result of this call is stored in self.initial_result.
         The id is stored in self.id.

         """
        self.initial_result = self.dbaas.instances.create(
            name=self.name,
            flavor_id=self.dbaas_flavor_href,
            volume=self.volume,
            databases=[{"name": "firstdb", "character_set": "latin2",
                        "collate": "latin2_general_ci"}])
        result = self.initial_result
        self.id = result.id
        self.local_id = dbapi.localid_from_uuid(result.id)
        assert_equal(result.status, dbaas_mapping[power_state.BUILDING])
    def test_create(self):
        databases = []
        databases.append({"name": "firstdb", "character_set": "latin2",
                          "collate": "latin2_general_ci"})
        databases.append({"name": "db2"})
        instance_info.databases = databases
        users = []
        users.append({"name": "lite", "password": "******",
                      "databases": [{"name": "firstdb"}]})
        instance_info.users = users
        instance_info.volume = {'size': 2}

        if create_new_instance():
            instance_info.initial_result = dbaas.instances.create(
                                               instance_info.name,
                                               instance_info.dbaas_flavor_href,
                                               instance_info.volume,
                                               databases, users)
        else:
            id = existing_instance()
            instance_info.initial_result = dbaas.instances.get(id)

        result = instance_info.initial_result
        instance_info.id = result.id
        instance_info.local_id = dbapi.localid_from_uuid(result.id)

        if create_new_instance():
            assert_equal(result.status, dbaas_mapping[power_state.BUILDING])
        else:
            report.log("Test was invoked with TESTS_USE_INSTANCE_ID=%s, so no "
                       "instance was actually created." % id)
            report.log("Local id = %d" % instance_info.get_local_id())

        # Check these attrs only are returned in create response
        expected_attrs = ['created', 'flavor', 'hostname', 'id', 'links',
                          'name', 'status', 'updated', 'volume']
        if create_new_instance():
            CheckInstance(result._info).attrs_exist(
                result._info, expected_attrs, msg="Create response")
        # Don't CheckInstance if the instance already exists.
        CheckInstance(result._info).flavor()
        CheckInstance(result._info).links(result._info['links'])
        CheckInstance(result._info).volume()
Exemple #4
0
    def _create_instance(self):
        """Makes a call to create an instance.

         The result of this call is stored in self.initial_result.
         The id is stored in self.id.

         """
        self.initial_result = self.dbaas.instances.create(
            name=self.name,
            flavor_id=self.dbaas_flavor_href,
            volume=self.volume,
            databases=[{
                "name": "firstdb",
                "character_set": "latin2",
                "collate": "latin2_general_ci"
            }])
        result = self.initial_result
        self.id = result.id
        self.local_id = dbapi.localid_from_uuid(result.id)
        assert_equal(result.status, dbaas_mapping[power_state.BUILDING])
 def get_local_id(self):
     if self.local_id is None:
         self.local_id = dbapi.localid_from_uuid(self.id)
     return self.local_id
 def get_local_id(self):
     if not WHITE_BOX:
         raise RuntimeError("Only available in White Box tests.")
     if self.local_id is None:
         self.local_id = dbapi.localid_from_uuid(self.id)
     return self.local_id
Exemple #7
0
    def test_create(self):
        databases = []
        databases.append({
            "name": "firstdb",
            "character_set": "latin2",
            "collate": "latin2_general_ci"
        })
        databases.append({"name": "db2"})
        instance_info.databases = databases
        users = []
        users.append({
            "name": "lite",
            "password": "******",
            "databases": [{
                "name": "firstdb"
            }]
        })
        instance_info.users = users
        if test_config.values['reddwarf_main_instance_has_volume']:
            instance_info.volume = {'size': 1}
        else:
            instance_info.volume = None

        if create_new_instance():
            instance_info.initial_result = dbaas.instances.create(
                instance_info.name, instance_info.dbaas_flavor_href,
                instance_info.volume, databases, users)
        else:
            id = existing_instance()
            instance_info.initial_result = dbaas.instances.get(id)

        result = instance_info.initial_result
        instance_info.id = result.id
        if WHITE_BOX:
            instance_info.local_id = dbapi.localid_from_uuid(result.id)

        report.log("Instance UUID = %s" % instance_info.id)
        if create_new_instance():
            if WHITE_BOX:
                building = dbaas_mapping[power_state.BUILDING]
                assert_equal(result.status, building)
            assert_equal("BUILD", instance_info.initial_result.status)

        else:
            report.log("Test was invoked with TESTS_USE_INSTANCE_ID=%s, so no "
                       "instance was actually created." % id)
            if WHITE_BOX:
                report.log("Local id = %d" % instance_info.get_local_id())

        # Check these attrs only are returned in create response
        expected_attrs = [
            'created', 'flavor', 'addresses', 'id', 'links', 'name', 'status',
            'updated'
        ]
        if test_config.values['reddwarf_can_have_volume']:
            expected_attrs.append('volume')
        if test_config.values['reddwarf_dns_support']:
            expected_attrs.append('hostname')

        with CheckInstance(result._info) as check:
            if create_new_instance():
                check.attrs_exist(result._info,
                                  expected_attrs,
                                  msg="Create response")
            # Don't CheckInstance if the instance already exists.
            check.flavor()
            check.links(result._info['links'])
            if test_config.values['reddwarf_can_have_volume']:
                check.volume()
Exemple #8
0
 def get_local_id(self):
     if not WHITE_BOX:
         raise RuntimeError("Only available in White Box tests.")
     if self.local_id is None:
         self.local_id = dbapi.localid_from_uuid(self.id)
     return self.local_id