def test_create_new_space(self): # Design the URL api = "api/spaces" url = launch_detail.create_url(api) space_name = helpers.create_space_name() f = helpers.read_post_data_file('create_space_sdd.json', replace={ '$space_name_var': space_name, '$loggedin_user_id': dynamic_vars.userid }) # Make the request r = req.post(url, headers=request_detail.headers_default, json=f) # Analyze the response global spaceid, spacename spaceid = helpers.extract_value("data.id", r) spacename = helpers.extract_value("data.attributes.name", r) spacelink = helpers.extract_value("data.links.self", r) content_type_header = helpers.extract_header("Content-Type", r) print("\nSpace created : ", spacename) # Save and retain dynamic data for later use dynamic_vars.spaceid = spaceid dynamic_vars.spacename = spacename dynamic_vars.spacelink = spacelink # Validate the response assert r.status_code == 201 assert content_type_header == request_detail.content_type_default assert helpers.extract_value("data.type", r) == 'spaces'
def test_enable_experimental_features(self): # Design the URL api = "api/users" url = launch_detail.create_url(api) f = helpers.read_post_data_file( 'enable_experimental.json', replace={'$loggedin_user_id': dynamic_vars.userid}) # Make the request r = req.patch(url, headers=request_detail.headers_default, json=f) # Validate the response assert r.status_code == 200
def test_get_parent_area(self): #Design the URL api = "api/spaces/" + spaceid + "/areas" url = launch_detail.create_url(api) ##Make the request r = req.get(url, headers=request_detail.headers_default) ##Analyze the response dynamic_vars.parent_area_id = helpers.extract_value("data[0].id", r) dynamic_vars.parent_area_name = helpers.extract_value( "data[0].attributes.name", r) ##Validate the response r.raise_for_status()
def test_get_space_details(self): #Design the URL api = "api/spaces/" + spaceid url = launch_detail.create_url(api) ##Make the request r = req.get(url, headers=request_detail.headers_default) ##Validate the response assert r.status_code == 200 assert helpers.extract_header("Content-Type", r) == request_detail.content_type_default assert helpers.extract_value("data.type", r) == "spaces" assert helpers.extract_value("data.attributes.name", r) == spacename
def test_create_child_areas(self, area_name): # Design the URL api = "api/areas/" + dynamic_vars.parent_area_id url = launch_detail.create_url(api) f = helpers.read_post_data_file( 'create_child_area.json', replace={'$area_name_generated': area_name}) # Make the request r = req.post(url, headers=request_detail.headers_default, json=f) # Analyze the response dynamic_vars.area_names_to_ids[area_name] = helpers.extract_value( "data.id", r) # Validate the response assert r.status_code == 201
def test_create_child_iters(self, iter_name): #Design the URL api = "api/iterations/" + dynamic_vars.parent_iteration_id url = launch_detail.create_url(api) f = helpers.read_post_data_file('create_child_iteration.json', replace={ '$iteration_name_generated': iter_name, '$spaceid': spaceid }) ##Make the request r = req.post(url, headers=request_detail.headers_default, json=f) ##Analyze the response dynamic_vars.iteration_names_to_ids[iter_name] = helpers.extract_value( "data.id", r) ##Validate the response assert r.status_code == 201
def test_get_user_details(self): # Design the URL api = "api/users?filter[username]=" + launch_detail.userid_primary url = launch_detail.create_url(api) # Make the request r = req.get(url, headers=request_detail.headers_default) # Analyze the response global loggedin_user_id, loggedin_user_name loggedin_user_id = helpers.extract_value("data[0].id", r) loggedin_user_name = helpers.extract_value( "data[0].attributes.username", r) content_type_header = helpers.extract_header("Content-Type", r) # Save and retain dynamic data for later use dynamic_vars.username = loggedin_user_name dynamic_vars.userfullname = helpers.extract_value( "data[0].attributes.fullName", r) dynamic_vars.userid = loggedin_user_id # Validate the response assert r.status_code == 200 assert content_type_header == request_detail.content_type_default