Example #1
0
def test_that_repo_is_replicated_successfully(test_client):
    fake_github = fakes.FakeGithubApi()
    fake_github.authorized = True
    user_response = fakes.FakeResponse({'login': '******'})
    fake_github.add_get_response('/user', user_response)
    fork_response = fakes.FakeResponse(status_code=202)
    fake_github.add_post_response('/repos/andjey/self-replicating-repo/forks', fork_response)

    response = test_client(fake_github).get('/replicate')

    assert response.status_code == 200
    assert b'https://github.com/frodo_baggins/self-replicating-repo' in response.get_data()
Example #2
0
def test_that_replication_has_failed(test_client):
    fake_github = fakes.FakeGithubApi()
    fake_github.authorized = True
    user_response = fakes.FakeResponse({'login': '******'})
    fake_github.add_get_response('/user', user_response)
    fork_response = fakes.FakeResponse(
        json_response={'Message': 'Sorry, folks, currently Github is down!'},
        status_code=500
    )
    fake_github.add_post_response('/repos/andjey/self-replicating-repo/forks', fork_response)

    response = test_client(fake_github).get('/replicate')

    assert response.status_code == 200
    assert b"{'Message': 'Sorry, folks, currently Github is down!'}" in response.get_data()
Example #3
0
 def test_under_list_post(self):
     mgr = self.manager
     resp = fakes.FakeResponse()
     body = {"fakes": {"foo": "bar"}}
     mgr.api.method_post = Mock(return_value=(resp, body))
     mgr.plural_response_key = "fakes"
     mgr.resource_class = fakes.FakeEntity
     ret = mgr._list(fake_url, body="test")
     mgr.api.method_post.assert_called_once_with(fake_url, body="test")
     self.assertTrue(isinstance(ret, list))
     self.assertEqual(len(ret), 1)
     self.assertTrue(isinstance(ret[0], fakes.FakeEntity))
Example #4
0
 def test_under_create_return_none(self):
     mgr = self.manager
     sav_rh = mgr.run_hooks
     mgr.run_hooks = Mock()
     mgr.api.method_post = Mock()
     resp = fakes.FakeResponse()
     body = None
     mgr.api.method_post = Mock(return_value=(resp, body))
     ret = mgr._create(fake_url, "", return_none=True, return_raw=False)
     self.assertIsNone(ret)
     mgr.api.method_post.assert_called_once_with(fake_url, body="")
     mgr.run_hooks = sav_rh
Example #5
0
 def test_change_user_password(self):
     inst = self.instance
     fakeuser = utils.random_name()
     newpass = utils.random_name()
     resp = fakes.FakeResponse()
     resp.status = 202
     inst._user_manager.api.method_put = Mock(return_value=(resp, {}))
     inst.change_user_password(fakeuser, newpass)
     inst._user_manager.api.method_put.assert_called_once_with(
         "/None", body={"users": [{
             "password": newpass,
             "name": fakeuser
         }]})
Example #6
0
 def test_under_update(self):
     mgr = self.manager
     sav_rh = mgr.run_hooks
     mgr.run_hooks = Mock()
     mgr.api.method_put = Mock()
     resp = fakes.FakeResponse()
     body = {"fakes": {"foo": "bar"}}
     mgr.api.method_put = Mock(return_value=(resp, body))
     mgr.resource_class = fakes.FakeEntity
     mgr.response_key = "fakes"
     ret = mgr._update(fake_url, "")
     mgr.api.method_put.assert_called_once_with(fake_url, body="")
     self.assertEqual(ret, body)
     mgr.run_hooks = sav_rh
Example #7
0
 def test_under_create_return_resource(self):
     mgr = self.manager
     sav_rh = mgr.run_hooks
     mgr.run_hooks = Mock()
     mgr.api.method_post = Mock()
     resp = fakes.FakeResponse()
     body = {"fakes": {"foo": "bar"}}
     mgr.api.method_post = Mock(return_value=(resp, body))
     mgr.resource_class = fakes.FakeEntity
     mgr.response_key = "fakes"
     ret = mgr._create(fake_url, "", return_none=False, return_raw=False)
     self.assertTrue(isinstance(ret, fakes.FakeEntity))
     mgr.api.method_post.assert_called_once_with(fake_url, body="")
     mgr.run_hooks = sav_rh
Example #8
0
 def test_request_400(self):
     clt = self.client
     clt.http_log_debug = False
     fakeresp = fakes.FakeResponse()
     fakeresp.status = 400
     body_content = {"one": 2, "three": 4}
     fakebody = json.dumps(body_content)
     sav = httplib2.Http.request
     httplib2.Http.request = Mock(return_value=(fakeresp, fakebody))
     savexc = exc.from_response
     exc.from_response = Mock(side_effect=fakes.FakeException)
     self.assertRaises(fakes.FakeException, clt.request)
     exc.from_response = savexc
     httplib2.Http.request = sav
Example #9
0
 def test_request_ok(self):
     clt = self.client
     clt.http_log_debug = False
     fakeresp = fakes.FakeResponse()
     fakeresp.status = 200
     body_content = {"one": 2, "three": 4}
     fakebody = json.dumps(body_content)
     sav = httplib2.Http.request
     httplib2.Http.request = Mock(return_value=(fakeresp, fakebody))
     resp, body = clt.request(body="text")
     self.assertTrue(isinstance(resp, fakes.FakeResponse))
     self.assertEqual(resp.status, 200)
     self.assertEqual(body, body_content)
     httplib2.Http.request = sav
Example #10
0
 def test_from_response_with_body(self):
     fake_resp = fakes.FakeResponse()
     fake_resp.status = 666
     fake_body = {
         "error": {
             "message": "fake_message",
             "details": "fake_details"
         }
     }
     ret = exc.from_response(fake_resp, fake_body)
     self.assertTrue(isinstance(ret, exc.ClientException))
     self.assertEqual(ret.code, fake_resp.status)
     self.assertEqual(ret.message, "fake_message")
     self.assertEqual(ret.details, "fake_details")
     self.assertTrue("HTTP 666" in str(ret))
Example #11
0
 def test_from_response_no_body(self):
     fake_resp = fakes.FakeResponse()
     fake_resp.status = 666
     ret = exc.from_response(fake_resp, None)
     self.assertTrue(isinstance(ret, exc.ClientException))
     self.assertEqual(ret.code, fake_resp.status)