예제 #1
0
    def test_basic_unregistering_from_market(self):
        # Build the related Mock
        self._market_mock()

        # Mock offering info
        mock_off1 = MagicMock()
        mock_off1.marketplaces = []

        mock_market_off = MagicMock()
        mock_market_off2 = MagicMock()
        mock_market_off2.marketplace = self._mock_market

        mock_off2 = MagicMock()
        mock_off2.marketplaces = [mock_market_off]

        mock_off3 = MagicMock()
        mock_off3.marketplaces = [mock_market_off, mock_market_off2]

        markets_management.Offering = MagicMock()
        markets_management.Offering.objects.all.return_value = [mock_off1, mock_off2, mock_off3]

        markets_management.unregister_from_market(self._user, 'test_market')

        markets_management.Marketplace.objects.get.assert_called_with(name='test_market')
        markets_management.marketadaptor_factory.assert_called_once_with(self._mock_market, self._user)
        self.adaptor_object.delete_store.assert_called_with()

        # Check that marketplace info has been removed from the corresponding offering
        self.assertEquals(mock_off1.marketplaces, [])
        self.assertEquals(mock_off2.marketplaces, [mock_market_off])
        self.assertEquals(mock_off3.marketplaces, [mock_market_off])
        mock_off3.save.assert_called_once_with()
예제 #2
0
파일: tests.py 프로젝트: Fiware/apps.Wstore
    def test_basic_unregistering_from_market(self):
        # Build the related Mock
        self._market_mock()

        # Mock offering info
        mock_off1 = MagicMock()
        mock_off1.marketplaces = []

        mock_market_off = MagicMock()
        mock_market_off2 = MagicMock()
        mock_market_off2.marketplace = self._mock_market

        mock_off2 = MagicMock()
        mock_off2.marketplaces = [mock_market_off]

        mock_off3 = MagicMock()
        mock_off3.marketplaces = [mock_market_off, mock_market_off2]

        markets_management.Offering = MagicMock()
        markets_management.Offering.objects.all.return_value = [mock_off1, mock_off2, mock_off3]

        markets_management.unregister_from_market(self._user, "test_market")

        markets_management.Marketplace.objects.get.assert_called_with(name="test_market")
        markets_management.marketadaptor_factory.assert_called_once_with(self._mock_market, self._user)
        self.adaptor_object.delete_store.assert_called_with()

        # Check that marketplace info has been removed from the corresponding offering
        self.assertEquals(mock_off1.marketplaces, [])
        self.assertEquals(mock_off2.marketplaces, [mock_market_off])
        self.assertEquals(mock_off3.marketplaces, [mock_market_off])
        mock_off3.save.assert_called_once_with()
예제 #3
0
파일: tests.py 프로젝트: huygun/wstore
    def test_basic_unregistering_from_market(self, mock):

        # Build the related Mock
        mock(self)
        markets_management.unregister_from_market('test_market')

        markets_management.Marketplace.objects.get.assert_called_with(name='test_market')
        self.adaptor_object.delete_store.assert_called_with('test_store')
예제 #4
0
파일: tests.py 프로젝트: huygun/wstore
    def test_unregistering_already_unregistered(self):

        self._market_mock1()
        markets_management.Marketplace.objects.get.side_effect = Exception('Not found')
        error = False
        try:
            markets_management.unregister_from_market('test_market1')
        except:
            error = True

        self.assertTrue(error)
예제 #5
0
    def test_unregistering_already_unregistered(self):

        self._market_mock()
        markets_management.Marketplace.objects.get.side_effect = Exception('Not found')
        error = False
        try:
            markets_management.unregister_from_market(self._user, 'test_market1')
        except:
            error = True

        self.assertTrue(error)
예제 #6
0
파일: tests.py 프로젝트: huygun/wstore
    def test_unregistering_bad_gateway(self):

        # Mock Marketplace
        self._market_mock1()
        self.adaptor_object.delete_store.side_effect = HTTPError('http://testmarket.org', 500, 'Server error', None, None)

        error = False
        msg = None
        try:
            markets_management.unregister_from_market('test_market')
        except Exception as e:
            error = True
            msg = e.message

        self.assertTrue(error)
        self.assertEquals(msg, 'Bad Gateway')
        self.adaptor_object.delete_store.assert_called_with('test_store')
예제 #7
0
    def test_unregistering_bad_gateway(self):

        # Mock Marketplace
        self._market_mock()
        self.adaptor_object.delete_store.side_effect = HTTPError('http://testmarket.org', 500, 'Server error', None, None)

        error = False
        msg = None
        try:
            markets_management.unregister_from_market(self._user, 'test_market')
        except Exception as e:
            error = True
            msg = e.message

        self.assertTrue(error)
        self.assertEquals(msg, 'Bad Gateway')
        self.adaptor_object.delete_store.assert_called_with()
        markets_management.marketadaptor_factory.assert_called_once_with(self._mock_market, self._user)
예제 #8
0
파일: views.py 프로젝트: Fiware/apps.Wstore
    def delete(self, request, market):

        if not request.user.is_staff:
            return build_response(request, 403, 'Forbidden')

        try:
            unregister_from_market(request.user, market)
        except Exception, e:
            if e.message == 'Bad Gateway':
                code = 502
                msg = e.message
            else:
                if e.message == 'Not found':
                    code = 404
                    msg = e.message
                else:
                    code = 400
                    msg = 'Bad request'

            return build_response(request, code, msg)
예제 #9
0
파일: tests.py 프로젝트: Fiware/apps.Wstore
    def test_unregistering_bad_gateway(self):

        # Mock Marketplace
        self._market_mock()
        self.adaptor_object.delete_store.side_effect = HTTPError(
            "http://testmarket.org", 500, "Server error", None, None
        )

        error = False
        msg = None
        try:
            markets_management.unregister_from_market(self._user, "test_market")
        except Exception as e:
            error = True
            msg = e.message

        self.assertTrue(error)
        self.assertEquals(msg, "Bad Gateway")
        self.adaptor_object.delete_store.assert_called_with()
        markets_management.marketadaptor_factory.assert_called_once_with(self._mock_market, self._user)
예제 #10
0
    def delete(self, request, market):

        if not request.user.is_staff:
            return build_response(request, 403, 'Forbidden')

        try:
            unregister_from_market(request.user, market)
        except Exception, e:
            if e.message == 'Bad Gateway':
                code = 502
                msg = e.message
            else:
                if e.message == 'Not found':
                    code = 404
                    msg = e.message
                else:
                    code = 400
                    msg = 'Bad request'

            return build_response(request, code, msg)