def test_string_representation(self): """ Test the string representation of the model. """ integrated_channel_code = 'test-channel-code' content_id = 'test-course' expected_string = '<Content item {content_id} for Customer {customer} with Channel {channel}>'.format( content_id=content_id, customer=self.enterprise_customer, channel=integrated_channel_code) transmission = ContentMetadataItemTransmission( enterprise_customer=self.enterprise_customer, integrated_channel_code=integrated_channel_code, content_id=content_id) assert expected_string == transmission.__repr__()
def test_transmit_delete_failure(self): """ Test successful deletion of content metadata during transmission. """ content_id = 'course:DemoX' channel_metadata = {'update': True} ContentMetadataItemTransmission( enterprise_customer=self.enterprise_config.enterprise_customer, integrated_channel_code=self.enterprise_config.channel_code(), content_id=content_id, channel_metadata=channel_metadata).save() payload = {} self.delete_content_metadata_mock.side_effect = ClientError( 'error occurred') transmitter = ContentMetadataTransmitter(self.enterprise_config) transmitter.transmit(payload) self.create_content_metadata_mock.assert_not_called() self.update_content_metadata_mock.assert_not_called() self.delete_content_metadata_mock.assert_called() assert ContentMetadataItemTransmission.objects.filter( enterprise_customer=self.enterprise_config.enterprise_customer, integrated_channel_code=self.enterprise_config.channel_code(), content_id=content_id, )
def test_transmit_delete_success(self): """ Test successful deletion of content metadata during transmission. """ content_id = 'course:DemoX' channel_metadata = {'update': True} ContentMetadataItemTransmission( enterprise_customer=self.enterprise_config.enterprise_customer, integrated_channel_code=self.enterprise_config.channel_code(), content_id=content_id, channel_metadata=channel_metadata).save() payload = {} self.delete_content_metadata_mock.return_value = (200, '{"success":"true"}') transmitter = ContentMetadataTransmitter(self.enterprise_config) transmitter.transmit(payload) self.create_content_metadata_mock.assert_not_called() self.update_content_metadata_mock.assert_not_called() self.delete_content_metadata_mock.assert_called() assert not ContentMetadataItemTransmission.objects.filter( enterprise_customer=self.enterprise_config.enterprise_customer, integrated_channel_code=self.enterprise_config.channel_code(), content_id=content_id, )
def test_transmit_update_not_needed(self): """ Test successful update of content metadata during transmission. """ content_id = 'course:DemoX' channel_metadata = {'update': True} ContentMetadataItemTransmission( enterprise_customer=self.enterprise_config.enterprise_customer, integrated_channel_code=self.enterprise_config.channel_code(), content_id=content_id, channel_metadata=channel_metadata).save() payload = { content_id: ContentMetadataItemExport( { 'key': content_id, ContentType.METADATA_KEY: ContentType.COURSE }, channel_metadata, ) } transmitter = ContentMetadataTransmitter(self.enterprise_config) transmitter.transmit(payload) self.create_content_metadata_mock.assert_not_called() self.update_content_metadata_mock.assert_not_called() self.delete_content_metadata_mock.assert_not_called()
def test_transmit_update_failure(self): """ Test unsuccessful update of content metadata during transmission. """ content_id = 'course:DemoX' channel_metadata = {'update': True} ContentMetadataItemTransmission( enterprise_customer=self.enterprise_config.enterprise_customer, integrated_channel_code=self.enterprise_config.channel_code(), content_id=content_id, channel_metadata={}).save() payload = { content_id: ContentMetadataItemExport( { 'key': content_id, 'content_type': 'course' }, channel_metadata) } self.update_content_metadata_mock.side_effect = ClientError( 'error occurred') transmitter = ContentMetadataTransmitter(self.enterprise_config) transmitter.transmit(payload) self.create_content_metadata_mock.assert_not_called() self.update_content_metadata_mock.assert_called() self.delete_content_metadata_mock.assert_not_called() updated_transmission = ContentMetadataItemTransmission.objects.get( enterprise_customer=self.enterprise_config.enterprise_customer, integrated_channel_code=self.enterprise_config.channel_code(), content_id=content_id, ) assert updated_transmission.channel_metadata == {}
def test_transmit_update_success(self): """ Test successful update of content metadata during transmission. """ content_id = 'course:DemoX' channel_metadata = {'update': True} ContentMetadataItemTransmission( enterprise_customer=self.enterprise_config.enterprise_customer, integrated_channel_code=self.enterprise_config.channel_code(), content_id=content_id, channel_metadata={}).save() payload = { content_id: ContentMetadataItemExport( { 'key': content_id, 'content_type': 'course' }, channel_metadata) } self.update_content_metadata_mock.return_value = (200, '{"success":"true"}') transmitter = ContentMetadataTransmitter(self.enterprise_config) transmitter.transmit(payload) self.create_content_metadata_mock.assert_not_called() self.update_content_metadata_mock.assert_called() self.delete_content_metadata_mock.assert_not_called() updated_transmission = ContentMetadataItemTransmission.objects.get( enterprise_customer=self.enterprise_config.enterprise_customer, integrated_channel_code=self.enterprise_config.channel_code(), content_id=content_id, ) assert updated_transmission.channel_metadata == channel_metadata