Ejemplo n.º 1
0
 def test_create_server(self):
     """
     Test to verify :func:`create_server` on ``POST /v2.0/<tenant_id>/servers``
     """
     self.assertEqual(self.create_server_response.code, 202)
     self.assertTrue(type(self.server_id), unicode)
     validate_link_json(self, self.create_server_response_body['server'])
Ejemplo n.º 2
0
 def test_list_servers(self):
     """
     Test to verify :func:`list_servers` on ``GET /v2.0/<tenant_id>/servers``
     """
     list_servers = request(self, self.root, "GET", self.uri + '/servers')
     list_servers_response = self.successResultOf(list_servers)
     list_servers_response_body = self.successResultOf(
         treq.json_content(list_servers_response))
     self.assertEqual(list_servers_response.code, 200)
     self.assertEqual(list_servers_response_body['servers'][0]['id'],
                      self.server_id)
     self.assertEqual(len(list_servers_response_body['servers']), 1)
     validate_link_json(self, list_servers_response_body['servers'][0])
Ejemplo n.º 3
0
    def validate_server_detail_json(self, server_json):
        """
        Tests to validate the server JSON.
        """
        validate_link_json(self, server_json)
        # id and links has already been checked, there are others that are not
        # yet implemented in mimic/optional
        response_keys = ("accessIPv4", "accessIPv6", "addresses", "created",
                         "flavor", "image", "metadata", "name", "status",
                         "tenant_id", "updated", "OS-EXT-STS:task_state",
                         "OS-DCF:diskConfig")
        for key in response_keys:
            self.assertIn(key, server_json)

        validate_link_json(self, server_json['image'])
        validate_link_json(self, server_json['flavor'])

        self.assertIsInstance(server_json['addresses'], dict)
        for addresses in server_json['addresses'].values():
            self.assertIsInstance(addresses, list)
            for address in addresses:
                self.assertIn('addr', address)
                self.assertIn('version', address)
                self.assertIn(
                    address['version'], (4, 6),
                    "Address version must be 4 or 6: {0}".format(address))