Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
course-discovery
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
course-discovery
Commits
4eaf27da
Commit
4eaf27da
authored
Sep 16, 2016
by
Matthew Piatetsky
Committed by
GitHub
Sep 16, 2016
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #330 from edx/ECOM-5660
ECOM-5660 Add logo image url override for organizations
parents
b9d17824
a35e9ed1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
20 additions
and
10 deletions
+20
-10
course_discovery/apps/course_metadata/data_loaders/api.py
+8
-4
course_discovery/apps/course_metadata/data_loaders/tests/test_api.py
+12
-6
No files found.
course_discovery/apps/course_metadata/data_loaders/api.py
View file @
4eaf27da
...
...
@@ -50,11 +50,15 @@ class OrganizationsApiDataLoader(AbstractDataLoader):
key
=
body
[
'short_name'
]
defaults
=
{
'key'
:
key
,
'name'
:
body
[
'name'
],
'description'
:
body
[
'description'
],
'logo_image_url'
:
body
[
'logo'
],
'partner'
:
self
.
partner
,
'partner'
:
self
.
partner
}
if
not
self
.
partner
.
has_marketing_site
:
defaults
.
update
({
'name'
:
body
[
'name'
],
'description'
:
body
[
'description'
],
'logo_image_url'
:
body
[
'logo'
]
})
Organization
.
objects
.
update_or_create
(
key__iexact
=
key
,
defaults
=
defaults
)
logger
.
info
(
'Processed organization "
%
s"'
,
key
)
...
...
course_discovery/apps/course_metadata/data_loaders/tests/test_api.py
View file @
4eaf27da
...
...
@@ -89,17 +89,23 @@ class OrganizationsApiDataLoaderTests(ApiClientTestMixin, DataLoaderTestMixin, T
)
return
bodies
def
assert_organization_loaded
(
self
,
body
):
def
assert_organization_loaded
(
self
,
body
,
partner_has_marketing_site
=
True
):
""" Assert an Organization corresponding to the specified data body was properly loaded into the database. """
organization
=
Organization
.
objects
.
get
(
key
=
AbstractDataLoader
.
clean_string
(
body
[
'short_name'
]))
self
.
assertEqual
(
organization
.
name
,
AbstractDataLoader
.
clean_string
(
body
[
'name'
]))
self
.
assertEqual
(
organization
.
description
,
AbstractDataLoader
.
clean_string
(
body
[
'description'
]))
self
.
assertEqual
(
organization
.
logo_image_url
,
AbstractDataLoader
.
clean_string
(
body
[
'logo'
]))
if
not
partner_has_marketing_site
:
self
.
assertEqual
(
organization
.
name
,
AbstractDataLoader
.
clean_string
(
body
[
'name'
]))
self
.
assertEqual
(
organization
.
description
,
AbstractDataLoader
.
clean_string
(
body
[
'description'
]))
self
.
assertEqual
(
organization
.
logo_image_url
,
AbstractDataLoader
.
clean_string
(
body
[
'logo'
]))
@responses.activate
def
test_ingest
(
self
):
@ddt.data
(
True
,
False
)
def
test_ingest
(
self
,
partner_has_marketing_site
):
""" Verify the method ingests data from the Organizations API. """
api_data
=
self
.
mock_api
()
if
not
partner_has_marketing_site
:
self
.
partner
.
marketing_site_url_root
=
None
self
.
partner
.
save
()
# pylint: disable=no-member
self
.
assertEqual
(
Organization
.
objects
.
count
(),
0
)
self
.
loader
.
ingest
()
...
...
@@ -112,7 +118,7 @@ class OrganizationsApiDataLoaderTests(ApiClientTestMixin, DataLoaderTestMixin, T
self
.
assertEqual
(
Organization
.
objects
.
count
(),
expected_num_orgs
)
for
datum
in
api_data
:
self
.
assert_organization_loaded
(
datum
)
self
.
assert_organization_loaded
(
datum
,
partner_has_marketing_site
)
# Verify multiple calls to ingest data do NOT result in data integrity errors.
self
.
loader
.
ingest
()
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment