Example #1
0
    def test_get_user_programs_credentials(self):
        """Verify program credentials data can be retrieved and parsed correctly."""
        # create credentials and program configuration
        self.create_credentials_config()

        # Mocking the API responses from programs and credentials
        primary_uuid, alternate_uuid = str(uuid.uuid4()), str(uuid.uuid4())
        credentials_api_response = {
            "next": None,
            "results": [
                factories.UserCredential(
                    username='******',
                    credential=factories.ProgramCredential(program_uuid=primary_uuid)
                ),
                factories.UserCredential(
                    username='******',
                    credential=factories.ProgramCredential(program_uuid=alternate_uuid)
                )
            ]
        }
        self.mock_credentials_api(self.user, data=credentials_api_response, reset_url=False)
        programs = [
            ProgramFactory(uuid=primary_uuid), ProgramFactory(uuid=alternate_uuid)
        ]

        with mock.patch("openedx.core.djangoapps.credentials.utils.get_programs_for_credentials") as mock_get_programs:
            mock_get_programs.return_value = programs
            actual = get_user_program_credentials(self.user)

            # checking response from API is as expected
            self.assertEqual(len(actual), 2)
            self.assertEqual(actual, programs)
Example #2
0
 def test_get_user_program_credentials_revoked(self):
     """Verify behavior if credential revoked."""
     self.create_credentials_config()
     credential_data = {
         "results": [{
             "id": 1,
             "username": "******",
             "credential": {
                 "credential_id": 1,
                 "program_id": 1
             },
             "status": "revoked",
             "uuid": "dummy-uuid-1"
         }]
     }
     self.mock_credentials_api(self.user, data=credential_data)
     actual = get_user_program_credentials(self.user)
     self.assertEqual(actual, [])
Example #3
0
    def test_get_user_programs_credentials(self):
        """Verify program credentials data can be retrieved and parsed correctly."""
        # create credentials and program configuration
        self.create_credentials_config()
        self.create_programs_config()

        # Mocking the API responses from programs and credentials
        self.mock_programs_api()
        self.mock_credentials_api(self.user, reset_url=False)

        actual = get_user_program_credentials(self.user)
        expected = self.PROGRAMS_API_RESPONSE['results'][:2]
        expected[0]['credential_url'] = self.PROGRAMS_CREDENTIALS_DATA[0]['certificate_url']
        expected[1]['credential_url'] = self.PROGRAMS_CREDENTIALS_DATA[1]['certificate_url']

        # checking response from API is as expected
        self.assertEqual(len(actual), 2)
        self.assertEqual(actual, expected)
Example #4
0
 def test_get_user_program_credentials_revoked(self):
     """Verify behavior if credential revoked."""
     self.create_credentials_config()
     credential_data = {"results": [
         {
             "id": 1,
             "username": "******",
             "credential": {
                 "credential_id": 1,
                 "program_id": 1
             },
             "status": "revoked",
             "uuid": "dummy-uuid-1"
         }
     ]}
     self.mock_credentials_api(self.user, data=credential_data)
     actual = get_user_program_credentials(self.user)
     self.assertEqual(actual, [])
Example #5
0
    def test_get_user_programs_credentials(self):
        """Verify program credentials data can be retrieved and parsed correctly."""
        # create credentials and program configuration
        self.create_credentials_config()
        self.create_programs_config()

        # Mocking the API responses from programs and credentials
        self.mock_programs_api()
        self.mock_credentials_api(self.user, reset_url=False)

        actual = get_user_program_credentials(self.user)
        expected = self.PROGRAMS_API_RESPONSE['results'][:2]
        expected[0]['credential_url'] = self.PROGRAMS_CREDENTIALS_DATA[0]['certificate_url']
        expected[1]['credential_url'] = self.PROGRAMS_CREDENTIALS_DATA[1]['certificate_url']

        # checking response from API is as expected
        self.assertEqual(len(actual), 2)
        self.assertEqual(actual, expected)
Example #6
0
    def test_get_user_programs_credentials(self):
        """Verify program credentials data can be retrieved and parsed correctly."""
        # create credentials and program configuration
        self.create_credentials_config()

        # Mocking the API responses from programs and credentials
        primary_uuid, alternate_uuid = str(uuid.uuid4()), str(uuid.uuid4())
        credentials_api_response = {
            "next":
            None,
            "results": [
                factories.UserCredential(
                    username='******',
                    credential=factories.ProgramCredential(
                        program_uuid=primary_uuid)),
                factories.UserCredential(
                    username='******',
                    credential=factories.ProgramCredential(
                        program_uuid=alternate_uuid))
            ]
        }
        self.mock_credentials_api(self.user,
                                  data=credentials_api_response,
                                  reset_url=False)
        programs = [
            ProgramFactory(uuid=primary_uuid),
            ProgramFactory(uuid=alternate_uuid)
        ]

        with mock.patch(
                "openedx.core.djangoapps.credentials.utils.get_programs_for_credentials"
        ) as mock_get_programs:
            mock_get_programs.return_value = programs
            actual = get_user_program_credentials(self.user)

            # checking response from API is as expected
            self.assertEqual(len(actual), 2)
            self.assertEqual(actual, programs)
Example #7
0
 def test_get_user_program_credentials_no_credential(self):
     """Verify behavior if no credential exist."""
     self.create_credentials_config()
     self.mock_credentials_api(self.user, data={'results': []})
     actual = get_user_program_credentials(self.user)
     self.assertEqual(actual, [])
Example #8
0
 def test_get_user_program_credentials_issuance_disable(self):
     """Verify that user program credentials cannot be retrieved if issuance is disabled."""
     self.create_credentials_config(enable_learner_issuance=False)
     actual = get_user_program_credentials(self.user)
     self.assertEqual(actual, [])
Example #9
0
 def test_get_user_program_credentials_no_credential(self):
     """Verify behavior if no credential exist."""
     self.create_credentials_config()
     self.mock_credentials_api(self.user, data={'results': []})
     actual = get_user_program_credentials(self.user)
     self.assertEqual(actual, [])
Example #10
0
 def test_get_user_program_credentials_issuance_disable(self):
     """Verify that user program credentials cannot be retrieved if issuance is disabled."""
     self.create_credentials_config(enable_learner_issuance=False)
     actual = get_user_program_credentials(self.user)
     self.assertEqual(actual, [])