def test_email_has_role_docs(self): # len(docs) == 0 test_body = {u'response': {u'docs': []}} self._register_get_group(body=self.COURSE_DATA) self._register_get_membership(body=test_body) test_membership = Membership(self.CERT, self.URLBASE) has_role = test_membership.email_has_role( self.EMAIL, self.ROLE, uuid=self.CUUID ) assert has_role is False
def test_email_has_role(self): self._register_get_group(body=self.COURSE_DATA) self._register_get_membership(body=self.MEMBERSHIP_DATA) test_membership = Membership(self.CERT, self.URLBASE) has_role = test_membership.email_has_role( self.EMAIL, self.ROLE, uuid=self.CUUID ) assert has_role is True has_role = test_membership.email_has_role( self.EMAIL, 'hacker', uuid=self.CUUID ) assert has_role is False
def test_get_course_id(self, mock_log): """Verify that we can the course id by providing the course uuid.""" self._register_get_course_id(body=self.COURSE_DATA) test_membership = Membership(self.CERT, self.URLBASE) course_id = test_membership.get_course_id(self.CUUID) self.assertEqual(course_id, self.COURSE_ID) # Produce KeyError and assert exception raised test_body = {'response': {'docs': {'enabled': True}}} self._register_get_course_id(test_body) with self.assertRaises(PyLmodUnexpectedData): test_membership.get_course_id(self.CUUID) mock_log.exception.assert_called_with( "KeyError in get_course_id - " "got {u'response': {u'docs': {u'enabled': True}}}" ) # Produce TypeError and assert exception raised self._register_get_course_id(['arnold']) with self.assertRaises(PyLmodUnexpectedData): test_membership.get_course_id(self.CUUID) mock_log.exception.assert_called_with( "TypeError in get_course_id - got [u'arnold']" ) # Remove data and assert exception raised test_body = {'nada': 'nothing'} self._register_get_course_id(test_body) with self.assertRaises(PyLmodUnexpectedData): test_membership.get_course_id(self.CUUID)
def test_email_has_role_errors(self, mock_log): test_membership = Membership(self.CERT, self.URLBASE) # KeyError test_body = {u'response': {u'foo': []}} self._register_get_group(body=self.COURSE_DATA) self._register_get_membership(body=test_body) with self.assertRaises(PyLmodUnexpectedData): test_membership.email_has_role( self.EMAIL, self.ROLE, uuid=self.CUUID ) mock_log.exception.assert_called_with( "KeyError in membership data - " "got {u'response': {u'foo': []}}" )
def test_get_course_guide_staff(self): """Verify that we can get staff roster as expected.""" httpretty.register_uri( httpretty.GET, '{0}courseguide/course/{1}/staff'.format( self.MEMBERSHIP_REGISTER_BASE, self.COURSE_ID, ), body=json.dumps(self.STAFF_BODY) ) test_membership = Membership(self.CERT, self.URLBASE) staff_list = test_membership.get_course_guide_staff( course_id=self.COURSE_ID ) self.assertEqual(staff_list, self.STAFF_BODY['response']['docs'])
def test_get_group_id_errors(self, mock_log): test_membership = Membership(self.CERT, self.URLBASE) # IndexError test_body = {u'response': {u'docs': []}} self._register_get_group(body=test_body) with self.assertRaises(PyLmodUnexpectedData): test_membership.get_group_id(self.CUUID) mock_log.exception.assert_called_with( "Error in get_group response data - " "got {u'response': {u'docs': []}}" ) # KeyError test_body = {u'response': {u'foo': []}} self._register_get_group(body=test_body) with self.assertRaises(PyLmodUnexpectedData): test_membership.get_group_id(self.CUUID) mock_log.exception.assert_called_with( "Error in get_group response data - " "got {u'response': {u'foo': []}}" )
def test_get_group_default_uuid(self): self._register_get_group(body=self.COURSE_DATA) test_membership = Membership(self.CERT, self.URLBASE) group_data = test_membership.get_group() assert group_data == self.COURSE_DATA
def test_get_membership(self): self._register_get_group(body=self.COURSE_DATA) self._register_get_membership(body=self.MEMBERSHIP_DATA) test_membership = Membership(self.CERT, self.URLBASE) mbr_data = test_membership.get_membership(self.CUUID) assert mbr_data == self.MEMBERSHIP_DATA
def test_get_group_id(self): self._register_get_group(body=self.COURSE_DATA) test_membership = Membership(self.CERT, self.URLBASE) group_id = test_membership.get_group_id(self.CUUID) assert group_id == self.COURSE_DATA['response']['docs'][0]['id']