Add ability to regenerate robot account credentials
This commit is contained in:
parent
837630359c
commit
a129aac94b
11 changed files with 307 additions and 8 deletions
Binary file not shown.
|
@ -14,7 +14,9 @@ from endpoints.api.search import FindRepositories, EntitySearch
|
|||
from endpoints.api.image import RepositoryImageChanges, RepositoryImage, RepositoryImageList
|
||||
from endpoints.api.build import (FileDropResource, RepositoryBuildStatus, RepositoryBuildLogs,
|
||||
RepositoryBuildList)
|
||||
from endpoints.api.robot import UserRobotList, OrgRobot, OrgRobotList, UserRobot
|
||||
from endpoints.api.robot import (UserRobotList, OrgRobot, OrgRobotList, UserRobot,
|
||||
RegenerateOrgRobot, RegenerateUserRobot)
|
||||
|
||||
from endpoints.api.trigger import (BuildTriggerActivate, BuildTriggerSources, BuildTriggerSubdirs,
|
||||
TriggerBuildList, ActivateBuildTrigger, BuildTrigger,
|
||||
BuildTriggerList, BuildTriggerAnalyze)
|
||||
|
@ -1632,6 +1634,19 @@ class TestOrgRobotBuynlargeZ7pd(ApiTestCase):
|
|||
ApiTestCase.setUp(self)
|
||||
self._set_url(OrgRobot, orgname="buynlarge", robot_shortname="Z7PD")
|
||||
|
||||
def test_get_anonymous(self):
|
||||
self._run_test('GET', 401, None, None)
|
||||
|
||||
def test_get_freshuser(self):
|
||||
self._run_test('GET', 403, 'freshuser', None)
|
||||
|
||||
def test_get_reader(self):
|
||||
self._run_test('GET', 403, 'reader', None)
|
||||
|
||||
def test_get_devtable(self):
|
||||
self._run_test('GET', 400, 'devtable', None)
|
||||
|
||||
|
||||
def test_put_anonymous(self):
|
||||
self._run_test('PUT', 401, None, None)
|
||||
|
||||
|
@ -1644,6 +1659,7 @@ class TestOrgRobotBuynlargeZ7pd(ApiTestCase):
|
|||
def test_put_devtable(self):
|
||||
self._run_test('PUT', 400, 'devtable', None)
|
||||
|
||||
|
||||
def test_delete_anonymous(self):
|
||||
self._run_test('DELETE', 401, None, None)
|
||||
|
||||
|
@ -3040,6 +3056,19 @@ class TestUserRobot5vdy(ApiTestCase):
|
|||
ApiTestCase.setUp(self)
|
||||
self._set_url(UserRobot, robot_shortname="robotname")
|
||||
|
||||
def test_get_anonymous(self):
|
||||
self._run_test('GET', 401, None, None)
|
||||
|
||||
def test_get_freshuser(self):
|
||||
self._run_test('GET', 400, 'freshuser', None)
|
||||
|
||||
def test_get_reader(self):
|
||||
self._run_test('GET', 400, 'reader', None)
|
||||
|
||||
def test_get_devtable(self):
|
||||
self._run_test('GET', 400, 'devtable', None)
|
||||
|
||||
|
||||
def test_put_anonymous(self):
|
||||
self._run_test('PUT', 401, None, None)
|
||||
|
||||
|
@ -3052,6 +3081,7 @@ class TestUserRobot5vdy(ApiTestCase):
|
|||
def test_put_devtable(self):
|
||||
self._run_test('PUT', 201, 'devtable', None)
|
||||
|
||||
|
||||
def test_delete_anonymous(self):
|
||||
self._run_test('DELETE', 401, None, None)
|
||||
|
||||
|
@ -3065,6 +3095,42 @@ class TestUserRobot5vdy(ApiTestCase):
|
|||
self._run_test('DELETE', 400, 'devtable', None)
|
||||
|
||||
|
||||
class TestRegenerateUserRobot(ApiTestCase):
|
||||
def setUp(self):
|
||||
ApiTestCase.setUp(self)
|
||||
self._set_url(RegenerateUserRobot, robot_shortname="robotname")
|
||||
|
||||
def test_post_anonymous(self):
|
||||
self._run_test('POST', 401, None, None)
|
||||
|
||||
def test_post_freshuser(self):
|
||||
self._run_test('POST', 400, 'freshuser', None)
|
||||
|
||||
def test_post_reader(self):
|
||||
self._run_test('POST', 400, 'reader', None)
|
||||
|
||||
def test_post_devtable(self):
|
||||
self._run_test('POST', 400, 'devtable', None)
|
||||
|
||||
|
||||
class TestRegenerateOrgRobot(ApiTestCase):
|
||||
def setUp(self):
|
||||
ApiTestCase.setUp(self)
|
||||
self._set_url(RegenerateOrgRobot, orgname="buynlarge", robot_shortname="robotname")
|
||||
|
||||
def test_post_anonymous(self):
|
||||
self._run_test('POST', 401, None, None)
|
||||
|
||||
def test_post_freshuser(self):
|
||||
self._run_test('POST', 403, 'freshuser', None)
|
||||
|
||||
def test_post_reader(self):
|
||||
self._run_test('POST', 403, 'reader', None)
|
||||
|
||||
def test_post_devtable(self):
|
||||
self._run_test('POST', 400, 'devtable', None)
|
||||
|
||||
|
||||
class TestOrganizationBuynlarge(ApiTestCase):
|
||||
def setUp(self):
|
||||
ApiTestCase.setUp(self)
|
||||
|
|
|
@ -16,7 +16,8 @@ from endpoints.api.tag import RepositoryTagImages, RepositoryTag
|
|||
from endpoints.api.search import FindRepositories, EntitySearch
|
||||
from endpoints.api.image import RepositoryImage, RepositoryImageList
|
||||
from endpoints.api.build import RepositoryBuildStatus, RepositoryBuildLogs, RepositoryBuildList
|
||||
from endpoints.api.robot import UserRobotList, OrgRobot, OrgRobotList, UserRobot
|
||||
from endpoints.api.robot import (UserRobotList, OrgRobot, OrgRobotList, UserRobot,
|
||||
RegenerateUserRobot, RegenerateOrgRobot)
|
||||
from endpoints.api.trigger import (BuildTriggerActivate, BuildTriggerSources, BuildTriggerSubdirs,
|
||||
TriggerBuildList, ActivateBuildTrigger, BuildTrigger,
|
||||
BuildTriggerList, BuildTriggerAnalyze)
|
||||
|
@ -1572,6 +1573,30 @@ class TestUserRobots(ApiTestCase):
|
|||
robots = self.getRobotNames()
|
||||
assert not NO_ACCESS_USER + '+bender' in robots
|
||||
|
||||
def test_regenerate(self):
|
||||
self.login(NO_ACCESS_USER)
|
||||
|
||||
# Create a robot.
|
||||
json = self.putJsonResponse(UserRobot,
|
||||
params=dict(robot_shortname='bender'),
|
||||
expected_code=201)
|
||||
|
||||
token = json['token']
|
||||
|
||||
# Regenerate the robot.
|
||||
json = self.postJsonResponse(RegenerateUserRobot,
|
||||
params=dict(robot_shortname='bender'),
|
||||
expected_code=200)
|
||||
|
||||
# Verify the token changed.
|
||||
self.assertNotEquals(token, json['token'])
|
||||
|
||||
json2 = self.getJsonResponse(UserRobot,
|
||||
params=dict(robot_shortname='bender'),
|
||||
expected_code=200)
|
||||
|
||||
self.assertEquals(json['token'], json2['token'])
|
||||
|
||||
|
||||
class TestOrgRobots(ApiTestCase):
|
||||
def getRobotNames(self):
|
||||
|
@ -1601,6 +1626,31 @@ class TestOrgRobots(ApiTestCase):
|
|||
assert not ORGANIZATION + '+bender' in robots
|
||||
|
||||
|
||||
def test_regenerate(self):
|
||||
self.login(ADMIN_ACCESS_USER)
|
||||
|
||||
# Create a robot.
|
||||
json = self.putJsonResponse(OrgRobot,
|
||||
params=dict(orgname=ORGANIZATION, robot_shortname='bender'),
|
||||
expected_code=201)
|
||||
|
||||
token = json['token']
|
||||
|
||||
# Regenerate the robot.
|
||||
json = self.postJsonResponse(RegenerateOrgRobot,
|
||||
params=dict(orgname=ORGANIZATION, robot_shortname='bender'),
|
||||
expected_code=200)
|
||||
|
||||
# Verify the token changed.
|
||||
self.assertNotEquals(token, json['token'])
|
||||
|
||||
json2 = self.getJsonResponse(OrgRobot,
|
||||
params=dict(orgname=ORGANIZATION, robot_shortname='bender'),
|
||||
expected_code=200)
|
||||
|
||||
self.assertEquals(json['token'], json2['token'])
|
||||
|
||||
|
||||
class TestLogs(ApiTestCase):
|
||||
def test_user_logs(self):
|
||||
self.login(ADMIN_ACCESS_USER)
|
||||
|
|
Reference in a new issue