def test_no_accounts_received(self, mock_render_to_response, mock_get_user_info): responses.reset() responses.add( responses.GET, "https://app.vssps.visualstudio.com/_apis/accounts", json={ "value": [], "count": 0 }, status=200, ) view = AccountConfigView() request = Mock() request.POST = {} request.user = self.user pipeline = Mock() pipeline.fetch_state = lambda key: { "data": { "access_token": "1234567890" } } pipeline.organization = self.organization view.dispatch(request, pipeline) assert mock_get_user_info.called is True assert mock_render_to_response.called is True assert mock_render_to_response.call_args[1]["context"] == { "no_accounts": True }
def test_bad_version(self): project = self.create_project() user = self.create_user() hook = HerokuReleaseHook(project) req = Mock() req.POST = {"head_long": "", "url": "http://example.com", "user": user.email} with self.assertRaises(HookValidationError): hook.handle(req)
def test_email_mismatch(self): user = self.create_user() organization = self.create_organization(owner=user) project = self.create_project(organization=organization) hook = HerokuReleaseHook(project) req = Mock() req.POST = {"head_long": "v999", "url": "http://example.com", "user": "******"} hook.handle(req) assert Release.objects.filter(version=req.POST["head_long"]).exists()
def test_user_success(self): user = self.create_user() organization = self.create_organization(owner=user) project = self.create_project(organization=organization) hook = HerokuReleaseHook(project) hook.set_refs = Mock() req = Mock() req.POST = {"head_long": "abcd123", "url": "http://example.com", "user": user.email} hook.handle(req) assert Release.objects.filter(version=req.POST["head_long"]).exists() assert hook.set_refs.call_count == 1