def test_update_enterprise_catalog(): expected_response = { 'catalog_uuid': TEST_ENTERPRISE_CATALOG_UUID, 'enterprise_customer': TEST_ENTERPRISE_ID, 'title': 'Test Catalog', 'content_filter': { "content_type": "course" }, 'enabled_course_modes': ["verified"], 'publish_audit_enrollment_urls': False, } responses.add( responses.PUT, _url("enterprise-catalogs/{catalog_uuid}/".format( catalog_uuid=TEST_ENTERPRISE_CATALOG_UUID)), json=expected_response, ) client = enterprise_catalog.EnterpriseCatalogApiClient( 'staff-user-goes-here') actual_response = client.update_enterprise_catalog( TEST_ENTERPRISE_CATALOG_UUID, content_filter={"content_type": "course"}) assert actual_response == expected_response request = responses.calls[0][0] assert json.loads(request.body) == { 'content_filter': { "content_type": "course" } }
def test_create_enterprise_catalog(): expected_response = { 'catalog_uuid': TEST_ENTERPRISE_CATALOG_UUID, 'enterprise_customer': TEST_ENTERPRISE_ID, 'title': 'Test Catalog', 'content_filter': { "content_type": "course" }, 'enabled_course_modes': ["verified"], 'publish_audit_enrollment_urls': False, } expected_request = { 'uuid': TEST_ENTERPRISE_CATALOG_UUID, 'enterprise_customer': TEST_ENTERPRISE_ID, 'title': 'Test Catalog', 'content_filter': { "content_type": "course" }, 'enabled_course_modes': ["verified"], 'publish_audit_enrollment_urls': 'false', } responses.add(responses.POST, _url("enterprise-catalogs/"), json=expected_response) client = enterprise_catalog.EnterpriseCatalogApiClient( 'staff-user-goes-here') actual_response = client.create_enterprise_catalog( expected_response['catalog_uuid'], expected_response['enterprise_customer'], expected_response['title'], expected_response['content_filter'], expected_response['enabled_course_modes'], expected_response['publish_audit_enrollment_urls']) assert actual_response == expected_response request = responses.calls[0][0] assert json.loads(request.body) == expected_request
def test_delete_enterprise_catalog(): responses.add( responses.DELETE, _url("enterprise-catalogs/{catalog_uuid}/".format(catalog_uuid=TEST_ENTERPRISE_CATALOG_UUID)), ) client = enterprise_catalog.EnterpriseCatalogApiClient('staff-user-goes-here') actual_response = client.delete_enterprise_catalog(TEST_ENTERPRISE_CATALOG_UUID) assert actual_response
def test_failing_refresh_catalog(): catalog = EnterpriseCustomerCatalogFactory() responses.add( responses.POST, _url("enterprise-catalogs/{catalog_uuid}/refresh_metadata/".format( catalog_uuid=catalog.uuid)), body=ConnectionError(), ) client = enterprise_catalog.EnterpriseCatalogApiClient( 'staff-user-goes-here') refreshed_catalogs, failed_to_refresh_catalogs = client.refresh_catalogs( EnterpriseCustomerCatalog.objects.all()) assert failed_to_refresh_catalogs[0] == catalog.uuid assert len(refreshed_catalogs.items()) == 0
def test_enterprise_contains_content_items(): url = _url("enterprise-customer/{enterprise_uuid}/contains_content_items/?course_run_ids=demoX".format( enterprise_uuid=TEST_ENTERPRISE_ID )) expected_response = { 'contains_content_items': True, } responses.add( responses.GET, url, json=expected_response, ) client = enterprise_catalog.EnterpriseCatalogApiClient('staff-user-goes-here') actual_response = client.enterprise_contains_content_items(TEST_ENTERPRISE_ID, ['demoX']) assert actual_response == expected_response['contains_content_items']
def test_successful_refresh_catalog(): catalog = EnterpriseCustomerCatalogFactory() task_id = '17812314511' responses.add( responses.POST, _url("enterprise-catalogs/{catalog_uuid}/refresh_metadata/".format( catalog_uuid=catalog.uuid)), json={'async_task_id': task_id}, ) client = enterprise_catalog.EnterpriseCatalogApiClient( 'staff-user-goes-here') refreshed_catalogs, failed_to_refresh_catalogs = client.refresh_catalogs( EnterpriseCustomerCatalog.objects.all()) assert refreshed_catalogs.get(catalog.uuid) == task_id assert len(failed_to_refresh_catalogs) == 0
def test_get_enterprise_catalog(): expected_response = { 'catalog_uuid': TEST_ENTERPRISE_CATALOG_UUID, 'enterprise_customer': TEST_ENTERPRISE_ID, 'enterprise_customer_name': TEST_ENTERPRISE_NAME, 'title': 'Test Catalog', 'content_filter': {"content_type": "course"}, 'enabled_course_modes': ["verified"], 'publish_audit_enrollment_urls': False, } responses.add( responses.GET, _url("enterprise-catalogs/{catalog_uuid}/".format(catalog_uuid=TEST_ENTERPRISE_CATALOG_UUID)), json=expected_response, ) client = enterprise_catalog.EnterpriseCatalogApiClient('staff-user-goes-here') actual_response = client.get_enterprise_catalog(TEST_ENTERPRISE_CATALOG_UUID) assert actual_response == expected_response
def test_partial_successful_refresh_catalog(): catalog1 = EnterpriseCustomerCatalogFactory() catalog2 = EnterpriseCustomerCatalogFactory() task_id = '17812314511' responses.add( responses.POST, _url("enterprise-catalogs/{catalog_uuid}/refresh_metadata/".format( catalog_uuid=catalog1.uuid)), json={'async_task_id': task_id}, ) responses.add( responses.POST, _url("enterprise-catalogs/{catalog_uuid}/refresh_metadata/".format( catalog_uuid=catalog2.uuid)), body=ConnectionError(), ) client = enterprise_catalog.EnterpriseCatalogApiClient( 'staff-user-goes-here') refreshed_catalogs, failed_to_refresh_catalogs = client.refresh_catalogs( EnterpriseCustomerCatalog.objects.all()) assert failed_to_refresh_catalogs[0] == catalog2.uuid assert len(refreshed_catalogs.items()) == 1 assert refreshed_catalogs.get(catalog1.uuid) == task_id