コード例 #1
0
 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
コード例 #2
0
 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
コード例 #3
0
    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)
コード例 #4
0
    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': []}}"
        )
コード例 #5
0
 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'])
コード例 #6
0
    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': []}}"
        )
コード例 #7
0
 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
コード例 #8
0
 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
コード例 #9
0
 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']