def test_get_sub_resource(self, request): request.side_effect = [ Mock( status_code=200, text='[{\"Id\": \"fgUr3\", \"Name\": \"Charlie\"},{\"Id\": \"fgUr2\", \"Name\": \"John\"}]' ), Mock( status_code=200, text='[]' ), ] eq_( API.get_sub_resource('pies', 'wsGty', 'eaters'), [ {'Id': 'fgUr3', 'Name': 'Charlie'}, {'Id': 'fgUr2', 'Name': 'John'}, ] ) calls = [ call( 'GET', 'https://api.litmos.com/v1.svc/pies/wsGty/eaters?source=app-name-123&format=json&limit=200', headers={'apikey': 'api-key-123'}), call( 'GET', 'https://api.litmos.com/v1.svc/pies/wsGty/eaters?source=app-name-123&format=json&limit=200&start=200', headers={'apikey': 'api-key-123'}), ] request.assert_has_calls(calls)
def leaders(self): return User._parse_response( API.get_sub_resource( self.__class__.name(), self.Id, 'leaders' ) )
def sub_teams(self): return self._parse_response( API.get_sub_resource( self.__class__.name(), self.Id, self.__class__.name() ) )
def courses(self): return Course._parse_response( API.get_sub_resource( self.__class__.name(), self.Id, 'courses' ) )
def admins(self): return User._parse_response( API.get_sub_resource( self.__class__.name(), self.Id, 'admins' ) )
def test_get_sub_resource(self, request): request.return_value = Mock( status_code=200, text='[{\"Id\": \"fgUr3\", \"Name\": \"Charlie\"},{\"Id\": \"fgUr2\", \"Name\": \"John\"}]' ) eq_( API.get_sub_resource('pies', 'wsGty', 'eaters'), [ {'Id': 'fgUr3', 'Name': 'Charlie'}, {'Id': 'fgUr2', 'Name': 'John'} ] ) request.assert_called_once_with( 'GET', 'https://api.litmos.com/v1.svc/pies/wsGty/eaters?apikey=api-key-123&source=app-name-123&format=json' )
def teams(self): from litmos.team import Team return Team._parse_response( API.get_sub_resource(self.__class__.name(), self.Id, 'teams'))