def test_delete_existing_server(self, mock_get_vim_info, mock_get_session):
        mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO
        mock_get_session.side_effect = [
            test_base.get_mock_session(["delete"],
                                       {"delete": {
                                           "content": None
                                       }}),
            test_base.get_mock_session(
                ["get"], {"get": {
                    "content": MOCK_GET_SERVER_RESPONSE.copy()
                }}),
            test_base.get_mock_session(["get"], {"get": {
                "content": None
            }}),
        ]

        tenant_id = "fcca3cc49d5e42caae15459e27103efc"
        server_id = "f5dc173b-6804-445a-a6d8-c705dad5b5eb"

        response = self.client.delete(
            ("/api/%s/v0/windriver-hudson-dc_RegionOne/%s/"
             "servers/%s" %
             (test_base.MULTIVIM_VERSION, tenant_id, server_id)),
            data=json.dumps(TEST_CREATE_SERVER),
            content_type="application/json",
            HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID)

        self.assertEquals(status.HTTP_200_OK, response.status_code)
Beispiel #2
0
    def test_post_image(self, mock_get_vim_info, mock_get_session,
                        mock_request, mock_run):
        mock_get_session.side_effect = [
            test_base.get_mock_session(
                ["get"],
                {"get": {
                    "content": self.MOCK_GET_RESOURCES_RESPONSE
                }}),
            test_base.get_mock_session(
                ["post"], {
                    "post": {
                        "content": self.MOCK_POST_RESOURCE_RESPONSE,
                        "status_code": 201
                    }
                }),
        ]

        mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO

        mock_request.urlopen.return_value = "image"

        response = self.client.post("/api/%s/v0/windriver-hudson-dc_RegionOne/"
                                    "fcca3cc49d5e42caae15459e27103efc/"
                                    "images" % test_base.MULTIVIM_VERSION,
                                    data=json.dumps(
                                        self.MOCK_POST_RESOURCE_REQUEST),
                                    content_type='application/json',
                                    HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID)

        context = response.json()
        self.assertEquals(status.HTTP_201_CREATED, response.status_code)
        self.assertIsNotNone(context['id'])
        self.assertEqual(1, context['returnCode'])
    def test_get_list_servers(self, mock_get_vim_info, mock_get_session):
        mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO
        mock_get_session.side_effect = [
            test_base.get_mock_session(
                ["get"], {"get": {
                    "content": MOCK_GET_SERVERS_RESPONSE
                }}),
            test_base.get_mock_session(
                ["get"], {"get": {
                    "content": MOCK_GET_PORTS_RESPONSE
                }}),
            test_base.get_mock_session(["get"], {"get": {
                "content": None
            }}),
        ]
        tenant_id = "fcca3cc49d5e42caae15459e27103efc"

        response = self.client.get(
            ("/api/%s/v0/windriver-hudson-dc_RegionOne/%s/"
             "servers" % (test_base.MULTIVIM_VERSION, tenant_id)), {},
            HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID)

        self.assertEquals(status.HTTP_200_OK, response.status_code)
        content = response.json()
        self.assertEquals(mock_info.MOCK_VIM_INFO["name"], content["vimName"])
        self.assertEquals(tenant_id, content["tenantId"])
        self.assertEquals(mock_info.MOCK_VIM_INFO["vimId"], content["vimId"])
        self.assertEquals(len(MOCK_GET_SERVERS_RESPONSE["servers"]),
                          len(content["servers"]))
    def test_create_server_successfully(self, mock_get_session):
        VimDriverUtils.get_vim_info = mock.Mock(
            return_value=mock_info.MOCK_VIM_INFO)

        mock_get_session.side_effect = [
            test_base.get_mock_session(["get"],
                                       {"get": {
                                           "content": {
                                               "servers": []
                                           }
                                       }}),
            test_base.get_mock_session(
                ["post"],
                {"post": {
                    "content": MOCK_POST_SERVER_RESPONSE.copy()
                }}),
        ]
        tenant_id = "fcca3cc49d5e42caae15459e27103efc"
        server_id = "f5dc173b-6804-445a-a6d8-c705dad5b5eb"

        response = self.client.post(
            ("/api/%s/v0/windriver-hudson-dc_RegionOne/%s/"
             "servers/%s" %
             (test_base.MULTIVIM_VERSION, tenant_id, server_id)),
            data=json.dumps(TEST_CREATE_SERVER),
            content_type="application/json",
            HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID)

        context = response.json()
        self.assertEquals(status.HTTP_200_OK, response.status_code)
        self.assertEquals(mock_info.MOCK_VIM_INFO["vimId"], context["vimId"])
        self.assertEquals(tenant_id, context["tenantId"])
        # self.assertEquals(len(TEST_CREATE_SERVER["volumeArray"]),
        #                   len(context['volumeArray']))
        self.assertEquals(MOCK_POST_SERVER_RESPONSE["server"]["id"],
                          context["id"])
        self.assertEquals(len(TEST_CREATE_SERVER["nicArray"]),
                          len(context["nicArray"]))
        self.assertEquals(mock_info.MOCK_VIM_INFO["name"], context["vimName"])
        self.assertIsNotNone(TEST_CREATE_SERVER["boot"])
        self.assertEquals(TEST_CREATE_SERVER["boot"]["volumeId"],
                          context["boot"]["volumeId"])
        self.assertEquals(TEST_CREATE_SERVER["boot"]["type"],
                          context["boot"]["type"])
        self.assertEquals(1, context["returnCode"])
        self.assertEquals(TEST_CREATE_SERVER["name"], context["name"])
        self.assertEquals(len(TEST_CREATE_SERVER["contextArray"]),
                          len(context["contextArray"]))
    def test_register_hpa_cputopology_successfully(self, mock_get_vim_info,
                                                   mock_get_session):
        restcall.req_to_aai = mock.Mock()
        restcall.req_to_aai.return_value = (0, {}, status.HTTP_200_OK)
        mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO
        mock_get_session.return_value = test_base.get_mock_session(
            ["get"], {
                "side_effect": [
                    self._get_mock_response(MOCK_GET_TENANT_RESPONSE),
                    self._get_mock_response(
                        MOCK_GET_HPA_FLAVOR_LIST1_RESPONSE),
                    self._get_mock_response(
                        MOCK_GET_HPA_FLAVOR_onap_mini_EXTRA_SPECS2_RESPONSE),
                    self._get_mock_response(MOCK_GET_IMAGE_RESPONSE),
                    self._get_mock_response(),
                    self._get_mock_response(MOCK_GET_AZ_RESPONSE),
                    self._get_mock_response(MOCK_HYPERVISOR_RESPONSE),
                    self._get_mock_response(MOCK_GET_SNAPSHOT_RESPONSE),
                    self._get_mock_response(MOCK_GET_HYPERVISOR_RESPONSE)
                ]
            })

        response = self.client.post(
            ("/api/multicloud-thinkcloud/v0/lenovo-hudson-dc_RegionOne/"
             "registry"),
            TEST_REGISTER_ENDPOINT_REQUEST,
            HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID)

        self.assertEquals(status.HTTP_202_ACCEPTED, response.status_code)
    def test_register_endpoint_successfully(self, mock_get_vim_info,
                                            mock_get_session):
        restcall.req_to_aai = mock.Mock()
        restcall.req_to_aai.return_value = (0, {}, status.HTTP_200_OK)
        mock_get_vim_info.return_value = OCATA_MOCK_VIM_INFO
        mock_get_session.return_value = test_base.get_mock_session(
            ["get"], {
                "side_effect": [
                    self._get_mock_response(MOCK_GET_TENANT_RESPONSE),
                    self._get_mock_response(MOCK_GET_FLAVOR_RESPONSE),
                    self._get_mock_response(MOCK_GET_IMAGE_RESPONSE),
                    self._get_mock_response(),
                    self._get_mock_response(MOCK_GET_AZ_RESPONSE),
                    self._get_mock_response(MOCK_HYPERVISOR_RESPONSE),
                    self._get_mock_response(MOCK_GET_SNAPSHOT_RESPONSE),
                    self._get_mock_response(MOCK_GET_HYPERVISOR_RESPONSE)
                ]
            })

        response = self.client.post(
            ("/api/multicloud-newton/v0/windriver-hudson-dc_RegionOne/"
             "registry"),
            TEST_REGISTER_ENDPOINT_REQUEST,
            HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID)

        self.assertEquals(status.HTTP_202_ACCEPTED, response.status_code)
Beispiel #7
0
    def test_get_flavor_not_found(self, mock_get_vim_info, mock_get_session,
                                  mock_get_flavor_extra_specs):
        mock_get_session.side_effect = [
            test_base.get_mock_session(
                ["get"], {"get": {
                    "status_code": status.HTTP_404_NOT_FOUND
                }}),
        ]

        mock_extra_specs = mock.Mock(spec=test_base.MockResponse)
        mock_extra_specs.json.return_value = {"extra_specs": {}}

        mock_get_flavor_extra_specs.return_value = mock_extra_specs
        mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO

        response = self.client.get(
            ("/api/%s/v0/windriver-hudson-dc_RegionOne"
             "/fcca3cc49d5e42caae15459e27103efc/flavors/"
             "uuid_1" % test_base.MULTIVIM_VERSION), {},
            HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID)

        # TODO(sshank): 404 status is not possible.
        self.assertEquals(status.HTTP_500_INTERNAL_SERVER_ERROR,
                          response.status_code)
        self.assertIn('error', response.data)
Beispiel #8
0
    def test_create_existing_flavor(self, mock_get_vim_info, mock_get_session,
                                    mock_get_flavor_extra_specs):
        mock_get_session.side_effect = [
            test_base.get_mock_session(
                ["get", "post"], {
                    "get": {
                        "content": self.MOCK_GET_RESOURCES_RESPONSE
                    },
                    "post": {
                        "content": self.MOCK_POST_RESOURCE_RESPONSE,
                        "status_code": status.HTTP_202_ACCEPTED,
                    }
                }),
        ]
        mock_extra_specs = mock.Mock(spec=test_base.MockResponse)
        mock_extra_specs.json.return_value = {"extra_specs": {}}

        mock_get_flavor_extra_specs.return_value = mock_extra_specs
        mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO

        response = self.client.post(
            ("/api/%s/v0/windriver-hudson-dc_RegionOne/"
             "fcca3cc49d5e42caae15459e27103efc/"
             "flavors" % test_base.MULTIVIM_VERSION),
            data=json.dumps(self.MOCK_POST_RESOURCE_REQUEST_EXISTING),
            content_type='application/json',
            HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID)

        context = response.json()
        self.assertEquals(status.HTTP_200_OK, response.status_code)
        self.assertIsNotNone(context['returnCode'])
        self.assertEqual(0, context['returnCode'])
Beispiel #9
0
    def test_get_flavors(self, mock_get_vim_info, mock_get_session,
                         mock_get_flavor_extra_specs):
        mock_get_session.side_effect = [
            test_base.get_mock_session(
                ["get"],
                {"get": {
                    "content": self.MOCK_GET_RESOURCES_RESPONSE
                }}),
        ]

        mock_extra_specs = mock.Mock(spec=test_base.MockResponse)
        mock_extra_specs.json.return_value = {"extra_specs": {}}

        mock_get_flavor_extra_specs.return_value = mock_extra_specs
        mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO

        response = self.client.get(("/api/%s/v0/windriver-hudson-dc_RegionOne"
                                    "/fcca3cc49d5e42caae15459e27103efc/"
                                    "flavors" % test_base.MULTIVIM_VERSION),
                                   {},
                                   HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID)
        context = response.json()

        self.assertEquals(status.HTTP_200_OK, response.status_code)
        self.assertIsNotNone(context['flavors'])
        self.assertEqual(self.MOCK_GET_RESOURCES_RESPONSE["flavors"],
                         context['flavors'])
    def test_register_hpa_pcipassthrough_successfully(
            self, mock_get_vim_info, mock_get_session):
        restcall.req_to_aai = mock.Mock()
        restcall.req_to_aai.return_value = (0, {}, status.HTTP_200_OK)
        mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO
        mock_get_session.return_value = test_base.get_mock_session(
            ["get"], {
                "side_effect": [
                    self._get_mock_response(MOCK_GET_TENANT_RESPONSE),
                    self._get_mock_response(MOCK_GET_HPA_FLAVOR_LIST1_RESPONSE),
                    self._get_mock_response(MOCK_GET_HPA_FLAVOR_ONAP_MINI_EXTRA_SPECS6_RESPONSE),
                    self._get_mock_response(MOCK_GET_IMAGE_RESPONSE),
                    self._get_mock_response(),
                    self._get_mock_response(MOCK_GET_AZ_RESPONSE),
                    self._get_mock_response(MOCK_HYPERVISOR_RESPONSE),
                    self._get_mock_response(MOCK_GET_SNAPSHOT_RESPONSE),
                    self._get_mock_response(MOCK_GET_HYPERVISOR_RESPONSE)
                ]
            })

        response = self.client.post(
            "/api/multicloud-pike/v0/windriver-hudson-dc_RegionOne/registry",
            TEST_REGISTER_ENDPOINT_REQUEST,
            HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID)

        self.assertEqual(status.HTTP_202_ACCEPTED, response.status_code)
Beispiel #11
0
    def test_discover_flavors(self):
        restcall.req_to_aai = mock.Mock()
        restcall.req_to_aai.return_value = (0, {}, status.HTTP_200_OK)
        mock_session = test_base.get_mock_session(["get"], {
            "side_effect":
            [test_base.get_mock_response(MOCK_GET_FLAVOR_RESPONSE)]
        })
        retcode, content = self.view.register_helper._discover_flavors(
            vimid="windriver-hudson-dc_RegionOne",
            session=mock_session,
            viminfo=MOCK_VIM_INFO)

        self.assertEqual(retcode, 0)
    def test_get_vport_not_found(self, mock_get_vim_info, mock_get_session):

        mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO
        mock_get_session.return_value = test_base.get_mock_session(
            ["get"],
            {"get": {"content": None, "status_code": status.HTTP_404_NOT_FOUND}})

        response = self.client.get(
            self.url + "ports/uuid_3",
            {}, HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID)

        self.assertEquals(status.HTTP_500_INTERNAL_SERVER_ERROR, response.status_code)
        self.assertIn('error', response.data)
    def test_get_vport(self, mock_get_vim_info, mock_get_session):

        mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO
        mock_get_session.return_value = test_base.get_mock_session(
            ["get"],
            {"get": {"content": MOCK_GET_VPORT_RESPONSE}})

        response = self.client.get(
            self.url + "ports/uuid_1",
            {}, HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID)

        context = response.json()
        self.assertEquals(status.HTTP_200_OK, response.status_code)
        self.assertEquals(MOCK_GET_VPORT_RESPONSE['id'], context['id'])
    def test_delete_vport(self, mock_get_vim_info, mock_get_session):

        mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO
        mock_get_session.return_value = test_base.get_mock_session(
            ["delete"],
            {"delete" : {"content": None,
                         "status_code": status.HTTP_204_NO_CONTENT}})

        response = self.client.delete(
            self.url + "ports/uuid_1",
            HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID)

        self.assertEqual(status.HTTP_204_NO_CONTENT, response.status_code)
        self.assertIsNone(response.data)
    def test_create_existing_server(self, mock_get_vim_info, mock_get_session):
        mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO
        mock_get_session.side_effect = [
            test_base.get_mock_session(
                ["get"], {"get": {
                    "content": MOCK_GET_SERVERS_RESPONSE
                }}),
            test_base.get_mock_session(["get"], {"get": {
                "content": None
            }}),
            test_base.get_mock_session(["get"], {"get": {
                "content": None
            }}),
        ]

        tenant_id = "fcca3cc49d5e42caae15459e27103efc"
        server_id = "f5dc173b-6804-445a-a6d8-c705dad5b5eb"

        response = self.client.post(
            ("/api/%s/v0/windriver-hudson-dc_RegionOne/%s/"
             "servers/%s" %
             (test_base.MULTIVIM_VERSION, tenant_id, server_id)),
            data=json.dumps(TEST_CREATE_SERVER),
            content_type="application/json",
            HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID)

        context = response.json()
        self.assertEquals(status.HTTP_200_OK, response.status_code)
        self.assertIsNone(context["volumeArray"])
        self.assertIsNone(context["flavorId"])
        self.assertIsNone(context["availabilityZone"])
        self.assertEquals(TEST_CREATE_SERVER["name"], context["name"])
        self.assertEquals(MOCK_GET_SERVERS_RESPONSE["servers"][0]["id"],
                          context["id"])
        self.assertIsNone(context["nicArray"])
        self.assertIsNotNone(context["boot"])
        self.assertEquals(0, context["returnCode"])
Beispiel #16
0
    def test_events_check_success(self, mock_get_vim_info, mock_get_session):
        mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO
        mock_get_session.return_value = test_base.get_mock_session(
            ["get"], {
                "side_effect": [
                    self._get_mock_response(MOCK_GET_SERVERS_DETAIL_RESPONSE),
                ]
            })

        response = self.client.post(
            "/api/multicloud-newton/v0/windriver-hudson-dc_RegionOne/events_check",
            HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID)

        self.assertEquals(status.HTTP_200_OK, response.status_code)
        self.assertEqual(SUCCESS_VMSTATE_RESPONSE, response.data)
    def test_get_volume(self, mock_get_vim_info, mock_get_session):

        mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO
        mock_get_session.return_value = test_base.get_mock_session(
            ["get"], {"get": {
                "content": self.MOCK_GET_RESOURCE_RESPONSE
            }})

        response = self.client.get("/api/%s/v0/windriver-hudson-dc_RegionOne/"
                                   "fcca3cc49d5e42caae15459e27103efc/volumes/"
                                   "uuid_1" % test_base.MULTIVIM_VERSION, {},
                                   HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID)

        context = response.json()
        self.assertEquals(status.HTTP_200_OK, response.status_code)
        self.assertEquals(self.MOCK_GET_RESOURCE_RESPONSE['id'], context['id'])
    def test_discover_flavors_w_hpa_numa(self):
        restcall.req_to_aai = mock.Mock()
        restcall.req_to_aai.return_value = (0, {}, status.HTTP_200_OK)
        mock_session = test_base.get_mock_session(
            ["get"], {
                "side_effect": [
                    test_base.get_mock_response(MOCK_GET_FLAVOR_RESPONSE_w_hpa_numa),
                    test_base.get_mock_response(MOCK_GET_FLAVOR_EXTRASPECS_RESPONSE_w_hpa_numa),
                ]
            }),

        retcode, content = self.view.register_helper._discover_flavors(
            vimid="starlingx_RegionOne",
            session=mock_session, viminfo=MOCK_VIM_INFO
        )

        self.assertEqual(retcode, 11)
    def test_capacity_check_success(self, mock_get_vim_info, mock_get_session):
        mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO
        mock_get_session.return_value = test_base.get_mock_session(
            ["get"], {
                "side_effect": [
                    self._get_mock_response(MOCK_GET_TENANT_LIMIT_RESPONSE),
                    self._get_mock_response(MOCK_GET_HYPER_STATATICS_RESPONSE),
                    self._get_mock_response(MOCK_GET_STORAGE_RESPONSE),
                ]
            })

        response = self.client.post(
            "/api/multicloud-starlingx/v0/starlingx_RegionOne/capacity_check",
            TEST_REQ_SUCCESS_SOURCE,
            HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID)

        self.assertEqual(status.HTTP_200_OK, response.status_code)
        self.assertEqual({'AZs': [], "result": True}, response.data)
Beispiel #20
0
    def test_retrieve_projects_by_querystring(self, mock_get_vim_info,
                                              mock_get_session):
        mock_vim_identity_v2 = mock_info.MOCK_VIM_INFO.copy()
        mock_vim_identity_v2["url"] = "http://128.224.180.14:5000/v2"
        mock_get_vim_info.return_value = mock_vim_identity_v2
        mock_get_session.side_effect = [
            test_base.get_mock_session(
                ["get"], {"get": {
                    "content": MOCK_GET_PROJECTS_RESPONSE
                }}),
        ]

        response = self.client.get(
            ("/api/%s/v0/windriver-hudson-dc_RegionOne/"
             "tenants?name=project" % test_base.MULTIVIM_VERSION), {},
            HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID)

        self.assertEquals(status.HTTP_200_OK, response.status_code)
Beispiel #21
0
    def test_capacity_check_nova_limits_failed(self, mock_get_vim_info,
                                               mock_get_session):
        mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO
        mock_get_session.return_value = test_base.get_mock_session(
            ["get"], {
                "side_effect": [
                    self._get_mock_response(MOCK_GET_TENANT_LIMIT_RESPONSE),
                    self._get_mock_response(MOCK_GET_HYPER_STATATICS_RESPONSE),
                    self._get_mock_response(MOCK_GET_STORAGE_RESPONSE),
                ]
            })

        response = self.client.post(
            "/api/multicloud-titaniumcloud/v0/windriver-hudson-dc_RegionOne/capacity_check",
            TEST_REQ_FAILED_SOURCE,
            HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID)

        self.assertEqual(status.HTTP_200_OK, response.status_code)
        self.assertEqual({'AZs': [], "result": False}, response.data)
    def test_capacity_check_volume_limits_outofstorage(self, mock_get_vim_info,
                                                       mock_get_session):
        mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO
        mock_get_session.return_value = test_base.get_mock_session(
            ["get"], {
                "side_effect": [
                    self._get_mock_response(MOCK_GET_TENANT_LIMIT_RESPONSE),
                    self._get_mock_response(MOCK_GET_HYPER_STATATICS_RESPONSE),
                    self._get_mock_response(MOCK_GET_STORAGE_RESPONSE_OOS),
                ]
            })

        response = self.client.post(
            "/api/multicloud-starlingx/v0/starlingx_RegionOne/capacity_check",
            data=json.dumps(TEST_REQ_SUCCESS_SOURCE),
            content_type='application/json',
            HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID)

        self.assertEqual(status.HTTP_200_OK, response.status_code)
        self.assertEqual({'AZs': [], "result": False}, response.data)
    def test_create_vport_unsuccessfully(self, mock_get_vim_info, mock_get_session):

        mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO
        mock_get_session.return_value = test_base.get_mock_session(
            ["get", "post"],
            {
             "get" : {"content": MOCK_GET_VPORTS_RESPONSE},
             "post": {"content": MOCK_POST_VPORT_RESPONSE,
                      "status_code": status.HTTP_202_ACCEPTED}
            })

        response = self.client.post(
            self.url + "ports",
            {},
            content_type='application/json',
            HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID)

        context = response.json()
        self.assertIn('error', context)
        self.assertEquals(status.HTTP_500_INTERNAL_SERVER_ERROR, response.status_code)
Beispiel #24
0
    def test_retrieve_projects(self, mock_get_vim_info, mock_get_session):
        mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO
        mock_get_session.side_effect = [
            test_base.get_mock_session(
                ["get"], {"get": {
                    "content": MOCK_GET_PROJECTS_RESPONSE
                }}),
        ]

        response = self.client.get(("/api/%s/v0/windriver-hudson-dc_RegionOne/"
                                    "tenants" % test_base.MULTIVIM_VERSION),
                                   {},
                                   HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID)

        self.assertEquals(status.HTTP_200_OK, response.status_code)
        content = response.json()
        self.assertIsNotNone(content["tenants"])
        self.assertEquals(len(MOCK_GET_PROJECTS_RESPONSE["tenants"]),
                          len(content["tenants"]))
        self.assertEquals(mock_info.MOCK_VIM_INFO["name"], content["vimName"])
        self.assertEquals(mock_info.MOCK_VIM_INFO["vimId"], content["vimId"])
    def test_create_existing_vport(self, mock_get_vim_info, mock_get_session):

        mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO
        mock_get_session.return_value = test_base.get_mock_session(
            ["get", "post"],
            {
             "get" : {"content": MOCK_GET_VPORTS_RESPONSE},
             "post": {"content": MOCK_POST_VPORT_RESPONSE,
                      "status_code": status.HTTP_202_ACCEPTED}
            })

        response = self.client.post(
            self.url + "ports",
            data=json.dumps(MOCK_POST_VPORT_REQUEST_EXISTING),
            content_type='application/json', 
            HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID)

        context = response.json()
        self.assertEquals(status.HTTP_200_OK, response.status_code)
        self.assertIsNotNone(context['returnCode'])
        self.assertEqual(0, context['returnCode'])
Beispiel #26
0
    def test_capacity_check_nova_hypervisor_outofvcpu(self, mock_get_vim_info,
                                                      mock_get_session):
        mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO
        mock_get_session.return_value = test_base.get_mock_session(
            ["get"], {
                "side_effect": [
                    self._get_mock_response(MOCK_GET_TENANT_LIMIT_RESPONSE),
                    self._get_mock_response(
                        MOCK_GET_HYPER_STATATICS_RESPONSE_OUTOFVCPU),
                    self._get_mock_response(MOCK_GET_STORAGE_RESPONSE),
                ]
            })

        response = self.client.post(
            "/api/multicloud-titaniumcloud/v0/windriver-hudson-dc_RegionOne/capacity_check",
            data=json.dumps(TEST_REQ_SUCCESS_SOURCE),
            content_type='application/json',
            HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID)

        self.assertEqual(status.HTTP_200_OK, response.status_code)
        self.assertEqual({'AZs': [], "result": False}, response.data)
Beispiel #27
0
    def test_delete_flavor(self, mock_get_vim_info, mock_get_session):
        mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO
        mock_get_session.side_effect = [
            test_base.get_mock_session(
                ["get", "delete"], {
                    "get": {
                        "content": self.MOCK_GET_EXTRA_SPECS
                    },
                    "delete": {
                        "status_code": status.HTTP_204_NO_CONTENT
                    }
                }),
        ]

        response = self.client.delete(
            ("/api/%s/v0/windriver-hudson-dc_RegionOne/"
             "fcca3cc49d5e42caae15459e27103efc/flavors/"
             "uuid_1" % test_base.MULTIVIM_VERSION),
            HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID)

        self.assertEqual(status.HTTP_204_NO_CONTENT, response.status_code)
        self.assertIsNone(response.data)
Beispiel #28
0
    def test_get_limits_list_failure(self, mock_get_vim_info,
                                     mock_get_session):
        mock_get_session.return_value = test_base.get_mock_session(
            ["get"], {
                "side_effect": [
                    self._get_mock_response(self.MOCK_GET_LIMITS_RESPONSE),
                    self._get_mock_response({}),
                    self._get_mock_response(self.MOCK_GET_LIMITS_RESPONSE)
                ]
            })

        mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO

        response = self.client.get("/api/%s/v0/windriver-hudson-dc_RegionOne/"
                                   "fcca3cc49d5e42caae15459e27103efc/"
                                   "limits" % test_base.MULTIVIM_VERSION, {},
                                   HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID)

        context = response.json()
        self.assertIn('error', context)
        self.assertEquals(status.HTTP_500_INTERNAL_SERVER_ERROR,
                          response.status_code)
Beispiel #29
0
    def test_get_limits_list(self, mock_get_vim_info, mock_get_session):
        mock_get_session.return_value = test_base.get_mock_session(
            ["get"], {
                "side_effect": [
                    self._get_mock_response(self.MOCK_GET_LIMITS_RESPONSE),
                    self._get_mock_response(self.MOCK_GET_QUOTAS_RESPONSE),
                    self._get_mock_response(self.MOCK_GET_LIMITS_RESPONSE)
                ]
            })

        mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO

        response = self.client.get("/api/%s/v0/windriver-hudson-dc_RegionOne/"
                                   "fcca3cc49d5e42caae15459e27103efc/"
                                   "limits" % test_base.MULTIVIM_VERSION, {},
                                   HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID)

        context = response.json()
        self.assertEquals(status.HTTP_200_OK, response.status_code)
        self.assertIsNotNone(context)
        self.assertIn(
            self.MOCK_GET_LIMITS_RESPONSE["limits"]["absolute"]['id'],
            context['id'])