Some issues with the migration project but I'll need to test them tomorrow... might have to create courses even if courses already exist?

This commit is contained in:
Norm Rasmussen
2024-09-02 20:42:31 -04:00
parent 6323f577de
commit 0c3af4c0fd
4 changed files with 69 additions and 32 deletions

View File

@ -168,13 +168,15 @@ def check_resources():
def create_project_item():
project_name = "Mark Course as Complete"
project_name = "Testing Course"
item_name = "Courses to Mark as Complete"
proj_payload = {
"data": {
"data":
{
"type": "migration_projects",
"attributes": {"name": project_name},
}
}
proj_full_url = f"{baseurl}/migration/{PROJ_URL}"
print(proj_full_url)
@ -184,10 +186,14 @@ def create_project_item():
item_full_url = f"{baseurl}/migration/{PROJ_URL}/{PROJ_ID}/{ITEM_URL}"
item_payload = {
"data": {
"data":
{
"type": "migration_items",
"attributes": {"type": "courses"},
"attributes": {
"type": "courses"
},
}
}
item_return = Calls.post(item_full_url, item_payload)
ITEM_ID = item_return["data"]["id"]

View File

@ -110,13 +110,17 @@ def create_project():
"""
project_name = ""
payload = {
"data": {
"data":[
{
"type": "migration_projects",
"attributes": {"name": project_name},
}
"attributes": {
"name": project_name
},
}
]
}
url = f"{BASEURL}/projects"
Calls.post(url, payload)
calls.post(url, payload)
def get_all_projects():
@ -127,7 +131,7 @@ def get_all_projects():
url = f"{BASEURL}/projects"
ret = calls.get(url)
if ret["data"] == "":
if ret["data"] != []:
for items in ret["data"]:
project_ids.append(items["id"])
print(f"{ items['attributes']['name'] } -- { items['id'] }")
@ -142,9 +146,12 @@ def delete_all_projects():
Deletes all projects after returning the uuids of the projects currently available.
"""
project_ids = get_all_projects()
print("Within delete function")
for proj in project_ids:
print(proj)
url = f"{BASEURL}/projects/{proj}"
calls.delete(url)
resp = calls.delete(url)
print(resp)
def get_specific_project():
@ -157,6 +164,9 @@ def get_specific_project():
def create_enrollment():
# important!! Received this error:
# {"errors":[{"data":{"0":["size cannot be less than 1"]}},{"resource_type":["resource type and item type must be same"]}]}
project_id = "6c7a21c2-de35-4b9d-9b80-a235401783af"
item_id = "80b95e38-78d1-44b9-8d9f-be96d9c7bf6e"
learner_uuid = "101d891d-f145-4cb2-8f7f-f0d8a90a743e"
@ -165,24 +175,31 @@ def create_enrollment():
formatted_now = now.strftime("%Y-%m-%d %H:%M:%S")
print("Creating Enrollment")
enroll_payload = {
"data": {
"data": [
{
"attributes": {
"enrolled_at": formatted_now,
"course_id": course_uuid,
"person_id": learner_uuid,
"uuid": "1234567890",
"display_name": "Enrollment Resource Test",
"type": "course",
"data": {
"enrolled_at": formatted_now,
"course_id": course_uuid,
"person_id": learner_uuid
}
}
}
}
]
}
enroll_url = calls.post(
f"{BASEURL}/projects/{project_id}/items/{item_id}/enrollment_resources",
enroll_payload,
)
print(f"{enroll_url} response is")
if enroll_url != 404:
print(f"{enroll_url.status_code} response is")
if enroll_url.status_code == 404 or enroll_url.status_code == 400:
print(f"A {enroll_url.status_code} error occurred.")
else:
print("Cool, enrollment resource has been created. Let's create an attempt.")
create_attempt(project_id, item_id, learner_uuid, course_uuid)
else:
print("A 404 error occurred.")
def create_attempt():
@ -226,18 +243,30 @@ def create_attempt():
)
"""
def get_item():
project_id = "6c7a21c2-de35-4b9d-9b80-a235401783af"
item_id = "80b95e38-78d1-44b9-8d9f-be96d9c7bf6e"
print("Checking item")
get_item_url = f"{BASEURL}/projects/{project_id}/items/{item_id}"
get_item = calls.get(get_item_url)
print(get_item)
def check_resources():
PROJ_ID = "6c7a21c2-de35-4b9d-9b80-a235401783af"
ITEM_ID = "80b95e38-78d1-44b9-8d9f-be96d9c7bf6e"
print("Checking resources")
get_resources_url = (
f"{baseurl}/migration/projects/{PROJ_ID}/items/{ITEM_ID}/resources"
f"{BASEURL}/projects/{PROJ_ID}/items/{ITEM_ID}/resources"
)
get_resources = Calls.get(get_resources_url)
if get_resources["data"] == []:
print("Something went wrong. No resources were created.")
else:
print("We're in! Here's the data:")
print(get_resources)
get_resources = calls.get(get_resources_url)
print(get_resources)
# if get_resources["data"] == []:
# print("Something went wrong. No resources were created.")
# else:
# print("We're in! Here's the data:")
# print(get_resources)
if __name__ == "__main__":
@ -246,5 +275,7 @@ if __name__ == "__main__":
# create_project()
# get_all_projects()
# get_specific_project()
create_enrollment()
# create_enrollment()
# check_resources()
get_item()
# create_attempt()

View File

@ -12,7 +12,7 @@ BASEURL = "https://api.northpass.com/v2"
def get(url):
try:
get_response = requests.get(url, headers=HEADERS)
# print(f"Executed Get Request. Status code is {get_response.status_code}")
print(f"Executed Get Request. Status code is {get_response.status_code}")
except HTTPError as h:
print(
f"Error occurred. Here's the info: {h} and status code: {get_response.status_code}"
@ -48,11 +48,11 @@ def post(url, payload):
def delete(url):
try:
get_response = requests.delete(url, headers=HEADERS)
# print(f"Executed Get Request. Status code is {get_response.status_code}")
delete_response = requests.delete(url, headers=HEADERS)
print(f"Executed Delete Request. Status code is {delete_response.status_code}")
except HTTPError as h:
print(
f"Error occurred. Here's the info: {h} and status code: {get_response.status_code}"
f"Error occurred. Here's the info: {h} and status code: {delete_response.status_code}"
)
finally:
return get_response
return delete_response