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
b3957384
Commit
b3957384
authored
Jan 09, 2017
by
Matthew Piatetsky
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Publish alias when creating new node
ECOM-6793
parent
0ea5a495
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
12 additions
and
15 deletions
+12
-15
course_discovery/apps/course_metadata/publishers.py
+3
-2
course_discovery/apps/course_metadata/tests/test_publishers.py
+9
-13
No files found.
course_discovery/apps/course_metadata/publishers.py
View file @
b3957384
...
@@ -147,7 +147,8 @@ class MarketingSitePublisher(object):
...
@@ -147,7 +147,8 @@ class MarketingSitePublisher(object):
node_url
=
'{root}/node.json'
.
format
(
root
=
api_client
.
api_url
)
node_url
=
'{root}/node.json'
.
format
(
root
=
api_client
.
api_url
)
response
=
api_client
.
api_session
.
post
(
node_url
,
data
=
json
.
dumps
(
node_data
))
response
=
api_client
.
api_session
.
post
(
node_url
,
data
=
json
.
dumps
(
node_data
))
if
response
.
status_code
==
201
:
if
response
.
status_code
==
201
:
return
response
.
json
()
response_json
=
response
.
json
()
return
response_json
[
'id'
]
else
:
else
:
raise
ProgramPublisherException
(
"Marketing site page creation failed!"
)
raise
ProgramPublisherException
(
"Marketing site page creation failed!"
)
...
@@ -228,7 +229,7 @@ class MarketingSitePublisher(object):
...
@@ -228,7 +229,7 @@ class MarketingSitePublisher(object):
self
.
_edit_node
(
api_client
,
node_id
,
node_data
)
self
.
_edit_node
(
api_client
,
node_id
,
node_data
)
else
:
else
:
# We should create a new node
# We should create a new node
self
.
_create_node
(
api_client
,
node_data
)
node_id
=
self
.
_create_node
(
api_client
,
node_data
)
before_alias
=
self
.
_make_alias
(
self
.
program_before
)
if
self
.
program_before
else
None
before_alias
=
self
.
_make_alias
(
self
.
program_before
)
if
self
.
program_before
else
None
new_alias
=
self
.
_make_alias
(
program
)
new_alias
=
self
.
_make_alias
(
program
)
before_slug
=
self
.
program_before
.
marketing_slug
if
self
.
program_before
else
None
before_slug
=
self
.
program_before
.
marketing_slug
if
self
.
program_before
else
None
...
...
course_discovery/apps/course_metadata/tests/test_publishers.py
View file @
b3957384
...
@@ -115,6 +115,12 @@ class MarketingSitePublisherTests(MarketingSitePublisherTestMixin):
...
@@ -115,6 +115,12 @@ class MarketingSitePublisherTests(MarketingSitePublisherTestMixin):
self
.
password
,
self
.
password
,
self
.
api_root
self
.
api_root
)
)
self
.
expected_node
=
{
'uuid'
:
'945bb2c7-0a57-4a3f-972a-8c7f94aa0661'
,
'resource'
:
'node'
,
'uri'
:
'https://stage.edx.org/node/28426'
,
'id'
:
'28426'
}
def
test_get_node_data
(
self
):
def
test_get_node_data
(
self
):
publisher
=
MarketingSitePublisher
()
publisher
=
MarketingSitePublisher
()
...
@@ -169,16 +175,11 @@ class MarketingSitePublisherTests(MarketingSitePublisherTestMixin):
...
@@ -169,16 +175,11 @@ class MarketingSitePublisherTests(MarketingSitePublisherTestMixin):
@responses.activate
@responses.activate
def
test_create_node
(
self
):
def
test_create_node
(
self
):
self
.
mock_api_client
(
200
)
self
.
mock_api_client
(
200
)
expected
=
{
self
.
mock_node_create
(
self
.
expected_node
,
201
)
'list'
:
[{
'nid'
:
self
.
node_id
}]
}
self
.
mock_node_create
(
expected
,
201
)
publisher
=
MarketingSitePublisher
()
publisher
=
MarketingSitePublisher
()
publish_data
=
publisher
.
_get_node_data
(
self
.
program
,
self
.
user_id
)
# pylint: disable=protected-access
publish_data
=
publisher
.
_get_node_data
(
self
.
program
,
self
.
user_id
)
# pylint: disable=protected-access
data
=
publisher
.
_create_node
(
self
.
api_client
,
publish_data
)
# pylint: disable=protected-access
data
=
publisher
.
_create_node
(
self
.
api_client
,
publish_data
)
# pylint: disable=protected-access
self
.
assertEqual
(
data
,
expected
)
self
.
assertEqual
(
data
,
self
.
expected_node
[
'id'
]
)
@responses.activate
@responses.activate
def
test_create_node_failed
(
self
):
def
test_create_node_failed
(
self
):
...
@@ -192,13 +193,8 @@ class MarketingSitePublisherTests(MarketingSitePublisherTestMixin):
...
@@ -192,13 +193,8 @@ class MarketingSitePublisherTests(MarketingSitePublisherTestMixin):
@responses.activate
@responses.activate
def
test_publish_program_create
(
self
):
def
test_publish_program_create
(
self
):
self
.
mock_api_client
(
200
)
self
.
mock_api_client
(
200
)
expected
=
{
'list'
:
[{
'node_id'
:
self
.
node_id
}]
}
self
.
mock_node_retrieval
(
self
.
program
.
uuid
,
exists
=
False
)
self
.
mock_node_retrieval
(
self
.
program
.
uuid
,
exists
=
False
)
self
.
mock_node_create
(
expected
,
201
)
self
.
mock_node_create
(
self
.
expected_node
,
201
)
publisher
=
MarketingSitePublisher
()
publisher
=
MarketingSitePublisher
()
self
.
mock_add_alias
()
self
.
mock_add_alias
()
with
mock
.
patch
.
object
(
MarketingSitePublisher
,
'_get_headers'
,
return_value
=
{}):
with
mock
.
patch
.
object
(
MarketingSitePublisher
,
'_get_headers'
,
return_value
=
{}):
...
...
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