def test_upload_bad(self): users_ssh_keys.auth.assert_admin() users_ssh_keys.fetch_user(self.user_id, True) self.fake_client_set.compute_ext.user_keypairs \ .create(self.user_id, 'TestKP', 'PUBLIC') \ .AndRaise(osc_exc.BadRequest('Keypair data is invalid')) self.mox.ReplayAll() data = self.interact({'name': 'TestKP', 'public-key': 'PUBLIC'}, expected_status_code=400) self.assertTrue('Keypair data' in data.get('message', ''))
def test_get_works_for_user(self): users_ssh_keys.fetch_user(self.user_id, False) self.fake_client_set.compute_ext.user_keypairs\ .get(self.user_id, 'kp').AndReturn('K1') users_ssh_keys.keypair_to_view('K1').AndReturn('REPLY') self.mox.ReplayAll() rv = self.client.get('/v1/users/%s/ssh-keys/kp' % self.user_id) data = self.check_and_parse_response(rv) self.assertEquals(data, 'REPLY')
def test_upload_public(self): kp = doubles.make(self.mox, doubles.Keypair, name='TestKP', public_key='PUBKEY', fingerprint='FP') users_ssh_keys.auth.assert_admin() users_ssh_keys.fetch_user(self.user_id, True) self.fake_client_set.compute_ext.user_keypairs \ .create(self.user_id, kp.name, 'PUBLIC') \ .AndReturn(kp) users_ssh_keys.keypair_to_view(kp).AndReturn('REPLY') self.mox.ReplayAll() data = self.interact({'name': kp.name, 'public-key': 'PUBLIC'}) self.assertEquals(data, 'REPLY')
def test_list_works(self): expected = { 'collection': { 'name': 'ssh-keys', 'parent-href': '/v1/users/42', 'size': 2 }, 'ssh-keys': ['REPLY1', 'REPLY2'] } users_ssh_keys.fetch_user(self.user_id, True) self.fake_client_set.compute_ext.user_keypairs \ .list(self.user_id).AndReturn(['K1', 'K2']) users_ssh_keys.keypair_to_view('K1').AndReturn('REPLY1') users_ssh_keys.keypair_to_view('K2').AndReturn('REPLY2') self.mox.ReplayAll() rv = self.client.get('/v1/users/%s/ssh-keys/' % self.user_id) data = self.check_and_parse_response(rv) self.assertEquals(data, expected)