def create_filter_if_missing(projects, session): #Before running, there has to performance users in the DB. print("PROJECTS#" + str(projects)) for project in projects: filterKey = get_filter(project["id"], session) print("FilterKey" + filterKey) if filterKey == "": # Create filter jqlQuery = "project = " + project["key"] print(jqlQuery) payload = { "jql": jqlQuery, "name": project["key"] + " NEW All issues", "description": "List all issues" } response = session.post('/rest/api/2/filter', json=payload, auth=('admin', 'admin')) assert response.status_code == 200 result = response.json() new_filter_id = result['id'] print("Filter created: " + new_filter_id) filterKey = new_filter_id saveRemoveFilterCmd(new_filter_id) #Set filter permission payloadPer = {"type": "group", "groupname": "jira-software-users"} responsePer = session.post('/rest/api/2/filter/' + filterKey + "/permission", json=payloadPer, auth=('admin', 'admin')) assert response.status_code == 200 saveProjectCmd(project['name'], project['key'], project['id'], filterKey)
def test_change_color_mapping(self, session): HOSTNAME = os.environ.get('application_hostname') # Get user diagrams_response = session.get('http://' + HOSTNAME + ':8080/rest/dependency-map/1.0/user') assert diagrams_response.status_code == 200 userKey = diagrams_response.json()["key"] print("User key: " + userKey) # Create diagram payload ={ 'name':"D100", 'author':userKey, 'lastEditedBy':userKey, 'layoutId':0, 'filterKey': 10000, 'boxColorFieldKey': "priority", 'groupedLayoutFieldKey': "priority", 'matrixLayoutHorizontalFieldKey': 'fixVersions', 'matrixLayoutVerticalFieldKey': 'fixVersions'} diagrams_response = session.post('http://' + HOSTNAME + ':8080/rest/dependency-map/1.0/diagram', json=payload) assert diagrams_response.status_code == 200 newDiagram = diagrams_response.json() diagramId = str(newDiagram["id"]) print('diagramid=' +diagramId) # Get all priorities diagrams_response = session.get('http://' + HOSTNAME + ':8080/rest/dependency-map/1.0/fieldOption/priority') assert diagrams_response.status_code == 200 priorityItem = diagrams_response.json()[4] priorityItemId = str(priorityItem['id']) print('priorityItemId=' + priorityItemId) #Get colore palete entry for diagram for field=priority option=5 diagrams_response = session.get('http://' + HOSTNAME + ':8080/rest/dependency-map/1.0/boxColor?diagramId=' + diagramId + '&fieldId=priority&fieldOptionId=' + priorityItemId) assert diagrams_response.status_code == 200 value = diagrams_response.text if not value: print( "No response value") else: print( diagrams_response.json() ) #create box coloure resource entry payload = {"diagramId":diagramId,"fieldId":"priority","fieldOptionId":priorityItemId,"colorPaletteEntryId":4} diagrams_response = session.post('http://' + HOSTNAME + ':8080/rest/dependency-map/1.0/boxColor', json=payload) assert diagrams_response.status_code == 200 print( diagrams_response.json() ) boxColorResource = diagrams_response.json()['id'] #update box coloure resource entry, created if not exists. payload = {"id":boxColorResource,"diagramId":diagramId,"fieldId":"priority","fieldOptionId":priorityItemId,"colorPaletteEntryId":5} diagrams_response = session.put('http://' + HOSTNAME + ':8080/rest/dependency-map/1.0/boxColor', json=payload) assert diagrams_response.status_code == 200 print( diagrams_response.json() )
def change_color_mapping(session, diagramId): HOSTNAME = os.environ.get('application_hostname') # Get all priorities diagrams_response = session.get( '/rest/dependency-map/1.0/fieldOption/status') assert diagrams_response.status_code == 200 nrOfFieldOptions = len(diagrams_response.json()) fieldIemList = diagrams_response.json() #Nr of field options print(nrOfFieldOptions) #We do not need to create boxColor entries for over 300 colors. fieldIemList5 = itertools.islice(fieldIemList, 5) for field in fieldIemList5: fieldOptionId = field["id"] colorPaletteEntryId = random.randint(0, 19) #create box coloure resource entry payload = { "diagramId": diagramId, "fieldId": "status", "fieldOptionId": fieldOptionId, "colorPaletteEntryId": colorPaletteEntryId } diagrams_response = session.post('/rest/dependency-map/1.0/boxColor', json=payload) assert diagrams_response.status_code == 200 print(diagrams_response.json())
def test_copy_diagram(self, base_url, session): HOSTNAME = os.environ.get('application_hostname') #Get filterKey randomly among the project in the project file filterKey= getRandomFilter(session) diagrams_response = session.get('/rest/dependency-map/1.0/diagram?filterKey=' + filterKey + '&searchTerm=&sortBy=name&reverseSort=&startAt=0&maxResults=50') assert diagrams_response.status_code == 200 result = diagrams_response.json()['values'] if len(result)>0: diagramId=result[0]['id'] #create a copy of the diagram diagrams_response = session.post('/rest/dependency-map/1.0/diagram/duplicate/' + str(diagramId) ) assert diagrams_response.status_code == 200 diagramId = diagrams_response.json()['diagram']['id'] saveRemoveDiagramCmd(diagramId)
def create_link(self, session, issueLinkTypeId, from_issue_id, to_issue_id): #before diagrams_response = session.get('/rest/api/2/issue/' + from_issue_id) before_issue_links = diagrams_response.json()['fields']['issuelinks'] before_size = len(before_issue_links) payload = { 'type': { 'id': issueLinkTypeId }, #blocks? 'inwardIssue': { 'id': to_issue_id }, 'outwardIssue': { 'id': from_issue_id } } diagrams_response = session.post('/rest/api/2/issueLink', json=payload) print(f"created link from issue {from_issue_id} to {to_issue_id} ") #JIRA Get new issue links id diagrams_response = session.get('/rest/api/2/issue/' + from_issue_id) issueLinks = diagrams_response.json()['fields']['issuelinks'] #print(issueLinks) if (len(issueLinks) > before_size): issueLinksId = 0 for issueLink in issueLinks: if 'inwardIssue' in issueLink and issueLink['inwardIssue']: if issueLink['inwardIssue']['id'] == to_issue_id: issueLinksId = issueLink['id'] #issueLinksId = issueLinks[-1]['id'] print("New issue Links Id=" + issueLinksId) if issueLinksId != 0: try: with open(out_file_path, "a") as f: issueLink_delete_request = '/rest/api/latest/issueLink/' + issueLinksId f.write(issueLink_delete_request) f.write("\n") f.close() except IOError: print("File not accessible delete...")
def test_create_change_link(self, session): HOSTNAME = os.environ.get('application_hostname') # Get user diagrams_response = session.get('http://' + HOSTNAME + ':8080/rest/dependency-map/1.0/user') assert diagrams_response.status_code == 200 userKey = diagrams_response.json()["key"] print("User key: " + userKey) # Create diagram payload = { 'name': "D100", 'author': userKey, 'lastEditedBy': userKey, 'layoutId': 0, 'filterKey': 10000, 'boxColorFieldKey': "priority", 'groupedLayoutFieldKey': "priority", 'matrixLayoutHorizontalFieldKey': 'fixVersions', 'matrixLayoutVerticalFieldKey': 'fixVersions' } diagrams_response = session.post( 'http://' + HOSTNAME + ':8080/rest/dependency-map/1.0/diagram', json=payload) newDiagram = diagrams_response.json() diagramId = str(newDiagram["id"]) print("New diagram id: " + diagramId) # Get all link configs diagrams_response = session.get( 'http://' + HOSTNAME + ':8080/rest/dependency-map/1.0/linkConfig?diagramId=' + diagramId) print(diagrams_response.json()) # Create linkConfig payload = { 'diagramId': diagramId, 'linkKey': 10000, 'visible': True, 'dashType': 0, 'width': 0, 'colorPaletteEntryId': 20 } diagrams_response = session.post( 'http://' + HOSTNAME + ':8080/rest/dependency-map/1.0/linkConfig?diagramId=' + diagramId, json=payload) newLinkConfig = diagrams_response.json() linkConfigId = str(newLinkConfig["id"]) print(linkConfigId) assert (diagrams_response.status_code == 200) # Get all link configs diagrams_response = session.get( 'http://' + HOSTNAME + ':8080/rest/dependency-map/1.0/linkConfig?diagramId=' + diagramId) print(diagrams_response.json())
def test_create_issue_link_flow_ci(self, base_url, session, create_data): projectId = create_data['projectId'] filterIdStr = create_data['filterId'] # print_in_shell("projectId=" + projectId ) #JIRA Get list of available issues # Get filter diagrams_response = session.get('/rest/api/2/filter/' + filterIdStr) assert diagrams_response.status_code == 200 searchUrl = diagrams_response.json()['searchUrl'] #remove everytning before '/rest/api/2/search' startPos = searchUrl.find("/rest/api/2/search?") endPos = len(searchUrl) shortSearchUrl = searchUrl[startPos:endPos] diagrams_response = session.get( shortSearchUrl + "&fields=priority,status,fixVersions,assignee,duedate,summary,issuelinks&startAt=0&maxResults=50" ) assert diagrams_response.status_code == 200 if len(diagrams_response.json()['issues']) >= 3: assert diagrams_response.status_code == 200 to_issue_id = diagrams_response.json()['issues'][0]['id'] to_issue_Key = diagrams_response.json()['issues'][0]['key'] from_issue_id = diagrams_response.json()['issues'][2]['id'] from_issue_Key = diagrams_response.json()['issues'][2]['key'] #JIRA Get list of available link types issueLinkTypeId = get_link_type(session) #before diagrams_response = session.get('/rest/api/2/issue/' + from_issue_id) before_issue_links = diagrams_response.json( )['fields']['issuelinks'] before_size = len(before_issue_links) #JIRA create link # payload = { 'type': { 'id': issueLinkTypeId }, 'inwardIssue': { 'id': to_issue_id }, 'outwardIssue': { 'id': from_issue_id } } diagrams_response = session.post('/rest/api/2/issueLink', json=payload) assert diagrams_response.status_code == 201 #after# diagrams_response = session.get('/rest/api/2/issue/' + from_issue_id) issue_links = diagrams_response.json()['fields']['issuelinks'] if (len(issue_links) > before_size): issueLinksId = 0 for issueLink in issue_links: if 'inwardIssue' in issueLink and issueLink['inwardIssue']: if issueLink['inwardIssue']['id'] == to_issue_id: issueLinksId = issueLink['id'] #issueLinksId = issueLinks[-1]['id'] if issueLinksId != 0: try: saveRemoveIssueLinkCmd(issueLinksId) except IOError: print_in_shell("File not accessible")
def create_data(session): # print_in_shell("Create diagram") # session = requests.session() # Get user diagrams_response = session.get('/rest/dependency-map/1.0/user') assert diagrams_response.status_code == 200 userKey = diagrams_response.json()["key"] print_in_shell("User key: " + userKey) # Get filter key diagrams_response = session.get( '/rest/dependency-map/1.0/filter?searchTerm=&page=0&resultsPerPage=25') assert diagrams_response.status_code == 200 # Get field priority diagrams_response = session.get('/rest/dependency-map/1.0/field/priority') assert diagrams_response.status_code == 200 field = diagrams_response.json()["id"] # Get field fixVersions diagrams_response = session.get( '/rest/dependency-map/1.0/field/fixVersions') assert diagrams_response.status_code == 200 field2 = diagrams_response.json()["id"] # Get project and filter id from the list of projects we shall use, saved in a file projectId = getRandomProjectId() filterId = getFilterId(projectId) # Create diagram nedan går att skapa men inte att öppna #payload ={ 'name':"G100", 'author': userKey, # 'lastEditedBy':userKey, 'layoutId':0, 'filterKey': filterId, # 'boxColorFieldKey': field, 'groupedLayoutFieldKey': field, # 'matrixLayoutHorizontalFieldKey': field2, 'matrixLayoutVerticalFieldKey': field2} # Create diagram payload = { 'name': "G100", 'author': userKey, 'lastEditedBy': userKey, 'layoutId': 0, 'filterKey': filterId, 'boxColorFieldKey': field, 'groupedLayoutFieldKey': field2, 'matrixLayoutHorizontalFieldKey': 'status', 'matrixLayoutVerticalFieldKey': field2 } diagrams_response = session.post('/rest/dependency-map/1.0/diagram', json=payload) assert diagrams_response.status_code == 200 diagramId = diagrams_response.json()['id'] diagramIdStr = str(diagramId) #create box colore resource entries. payload = { "diagramId": diagramId, "fieldId": "status", "fieldOptionId": 1, "colorPaletteEntryId": 5 } diagrams_response = session.post('/rest/dependency-map/1.0/boxColor', json=payload) assert diagrams_response.status_code == 200 payload = { "diagramId": diagramId, "fieldId": "status", "fieldOptionId": 2, "colorPaletteEntryId": 6 } diagrams_response = session.post('/rest/dependency-map/1.0/boxColor', json=payload) assert diagrams_response.status_code == 200 payload = { "diagramId": diagramId, "fieldId": "status", "fieldOptionId": 3, "colorPaletteEntryId": 7 } diagrams_response = session.post('/rest/dependency-map/1.0/boxColor', json=payload) assert diagrams_response.status_code == 200 payload = { "diagramId": diagramId, "fieldId": "status", "fieldOptionId": 4, "colorPaletteEntryId": 8 } diagrams_response = session.post('/rest/dependency-map/1.0/boxColor', json=payload) assert diagrams_response.status_code == 200 #Create link config entries # Create linkConfig #Get color palet entrie diagrams_response = session.get( '/rest/dependency-map/1.0/colorPaletteEntry?paletteId=' + '1') assert diagrams_response.status_code == 200 print(diagrams_response.json()) colorPaletteEntryId = diagrams_response.json()[14]["id"] colorPaletteEntryId2 = diagrams_response.json()[10]["id"] colorPaletteEntryId3 = diagrams_response.json()[12]["id"] diagrams_response = session.get('/rest/api/2/issueLinkType') issueLinkTypeIdStr = diagrams_response.json()['issueLinkTypes'][0]['id'] issueLinkTypeId = int(issueLinkTypeIdStr) issueLinkTypeId2Str = diagrams_response.json()['issueLinkTypes'][1]['id'] issueLinkTypeId2 = int(issueLinkTypeId2Str) issueLinkTypeId3Str = diagrams_response.json()['issueLinkTypes'][2]['id'] issueLinkTypeId3 = int(issueLinkTypeId3Str) payload = { 'diagramId': diagramId, 'linkKey': issueLinkTypeId, 'visible': True, 'dashType': 0, 'width': 0, 'colorPaletteEntryId': colorPaletteEntryId } diagrams_response = session.post( '/rest/dependency-map/1.0/linkConfig?diagramId=' + diagramIdStr, json=payload) assert (diagrams_response.status_code == 200) payload = { 'diagramId': diagramId, 'linkKey': issueLinkTypeId2, 'visible': True, 'dashType': 0, 'width': 0, 'colorPaletteEntryId': colorPaletteEntryId2 } diagrams_response = session.post( '/rest/dependency-map/1.0/linkConfig?diagramId=' + diagramIdStr, json=payload) assert (diagrams_response.status_code == 200) payload = { 'diagramId': diagramId, 'linkKey': issueLinkTypeId3, 'visible': True, 'dashType': 0, 'width': 0, 'colorPaletteEntryId': colorPaletteEntryId3 } diagrams_response = session.post( '/rest/dependency-map/1.0/linkConfig?diagramId=' + diagramIdStr, json=payload) assert (diagrams_response.status_code == 200) yield { 'diagramId': diagramIdStr, 'projectId': projectId, 'filterId': filterId } diagrams_response2 = session.delete('/rest/dependency-map/1.0/diagram/' + diagramIdStr) assert diagrams_response2.status_code == 200 print_in_shell("Deleted diagram id=" + diagramIdStr) return { 'diagramId': diagramIdStr, 'projectId': projectId, 'filerId': filterId }
def create_diagram(filterKey, session): # Get filter key HOSTNAME = os.environ.get('application_hostname') # Get user diagrams_response = session.get('/rest/dependency-map/1.0/user') assert diagrams_response.status_code == 200 userKey = diagrams_response.json()["key"] print("User key: " + userKey) # Get field priority diagrams_response = session.get('/rest/dependency-map/1.0/field/priority') assert diagrams_response.status_code == 200 field = diagrams_response.json()["id"] print(field) # Get field status diagrams_response = session.get('/rest/dependency-map/1.0/field/status') assert diagrams_response.status_code == 200 field2 = diagrams_response.json()["id"] print(field2) # Get field fix version diagrams_response = session.get( '/rest/dependency-map/1.0/field/fixVersions') assert diagrams_response.status_code == 200 field3 = diagrams_response.json()["id"] print(field3) # Create diagram payload = { 'name': "A100", 'author': userKey, 'lastEditedBy': userKey, 'layoutId': 2, 'filterKey': filterKey, 'boxColorFieldKey': field, 'groupedLayoutFieldKey': field2, 'matrixLayoutHorizontalFieldKey': field2, 'matrixLayoutVerticalFieldKey': field3 } diagram_response = session.post('/rest/dependency-map/1.0/diagram', json=payload) assert diagram_response.status_code == 200 diagramId = str(diagram_response.json()["id"]) print("New diagram id: " + diagramId) # Create linkConfig payload = { 'diagramId': diagramId, 'linkKey': 10000, 'visible': True, 'dashType': 0, 'width': 0, 'colorPaletteEntryId': 20 } diagrams_response = session.post( '/rest/dependency-map/1.0/linkConfig?diagramId=' + diagramId, json=payload) newLinkConfig = diagrams_response.json() linkConfigId = str(newLinkConfig["id"]) print(linkConfigId) assert (diagrams_response.status_code == 200) change_color_mapping(session, diagramId) return diagramId
def test_create_diagram(self, session): #GET /rest/api/2/issueLinkType HTTP/1.1" 200 229 3 "http://localhost:8080/plugins/servlet/dependency-map/diagram" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) A #GET /rest/dependency-map/1.0/filter?searchTerm=&page=0&resultsPerPage=25&_=1580893219884 HTTP/1.1" 200 153 2 "http://localhost:8080/plugins/servlet/dependenc #GET /rest/dependency-map/1.0/field?searchTerm=&page=0&resultsPerPage=25&_=1580893250444 HTTP/1.1" 200 243 1 "http://localhost:8080/plugins/servlet/dependency #GET /rest/dependency-map/1.0/field?searchTerm=&page=0&resultsPerPage=25&_=1580893254366 HTTP/1.1" 200 243 1 "http://localhost:8080/plugins/servlet/dependency #GET /rest/dependency-map/1.0/user HTTP/1.1" 200 96 1 "http://localhost:8080/plugins/servlet/dependency-map/diagram" "Mozilla/5.0 (Windows NT 10.0; Win64; x64 #POST /rest/dependency-map/1.0/diagram HTTP/1.1" 200 226 2 "http://localhost:8080/plugins/servlet/dependency-map/diagram" "Mozilla/5.0 (Windows NT 10.0; Win64 #POST /rest/dependency-map/1.0/linkConfig HTTP/1.1" 200 134 5 "http://localhost:8080/plugins/servlet/dependency-map/diagram" "Mozilla/5.0 (Windows NT 10.0; Wi # ??? POST /rest/webResources/1.0/resources HTTP/1.1" 200 494 3 "http://localhost:8080/plugins/servlet/dependency-map/diagram" "Mozilla/5.0 (Windows NT 10.0; Win64 #GET /rest/dependency-map/1.0/diagram?searchTerm=&startAt=0&maxResults=50 HTTP/1.1" 200 960 3 "http://localhost:8080/plugins/servlet/dependency-map/diagram" " # Get filter key HOSTNAME = os.environ.get('application_hostname') diagrams_response = session.get( 'http://' + HOSTNAME + ':8080/rest/dependency-map/1.0/filter?searchTerm=&page=0&resultsPerPage=25' ) assert diagrams_response.status_code == 200 filterKey = str(diagrams_response.json()["filters"][1]["filterKey"]) print(filterKey) # Get field diagrams_response = session.get( 'http://' + HOSTNAME + ':8080/rest/dependency-map/1.0/field?searchTerm=&page=0&resultsPerPage=25' ) assert diagrams_response.status_code == 200 field = diagrams_response.json()["fields"][0]["id"] print(field) # Get field diagrams_response = session.get( 'http://' + HOSTNAME + ':8080/rest/dependency-map/1.0/field?searchTerm=&page=0&resultsPerPage=25' ) assert diagrams_response.status_code == 200 field = diagrams_response.json()["fields"][0]["id"] print(field) # Get user diagrams_response = session.get('http://' + HOSTNAME + ':8080/rest/dependency-map/1.0/user') assert diagrams_response.status_code == 200 userKey = diagrams_response.json()["key"] print("User key: " + userKey) # Create diagram payload = { 'name': "D100", 'author': userKey, 'lastEditedBy': userKey, 'layoutId': 0, 'filterKey': filterKey, 'boxColorFieldKey': field, 'groupedLayoutFieldKey': field, 'matrixLayoutHorizontalFieldKey': 'fixVersions', 'matrixLayoutVerticalFieldKey': 'fixVersions' } diagram_response = session.post( 'http://' + HOSTNAME + ':8080/rest/dependency-map/1.0/diagram', json=payload) assert diagram_response.status_code == 200 diagramId = str(diagram_response.json()["id"]) print("New diagram id: " + diagramId) # try: # with open(out_file_path, "a") as f: # diagrams_delete_request ='http://' + HOSTNAME + ':8080/rest/dependency-map/1.0/diagram/' + diagramId # f.write(diagrams_delete_request) # f.write("\n") # f.close() # except IOError: # print("File not accessible") # Create linkConfig payload = { 'diagramId': diagramId, 'linkKey': 10000, 'visible': True, 'dashType': 0, 'width': 0, 'colorPaletteEntryId': 20 } diagrams_response = session.post( 'http://' + HOSTNAME + ':8080/rest/dependency-map/1.0/linkConfig?diagramId=' + diagramId, json=payload) newLinkConfig = diagrams_response.json() linkConfigId = str(newLinkConfig["id"]) print(linkConfigId) assert (diagrams_response.status_code == 200) # Get diagrams diagrams_response = session.get( 'http://' + HOSTNAME + ':8080/rest/dependency-map/1.0/diagram?searchTerm=&startAt=0&maxResults=50' ) assert diagrams_response.status_code == 200
def test_delete_diagram(self, base_url, session): # Prepare # request list of diagrams using the session id HOSTNAME = os.environ.get('application_hostname') ##CREATE DIAGRAM # Get user diagrams_response = session.get('/rest/dependency-map/1.0/user') assert diagrams_response.status_code == 200 userKey = diagrams_response.json()["key"] # Get filter key diagrams_response = session.get( '/rest/dependency-map/1.0/filter?searchTerm=&page=0&resultsPerPage=25' ) assert diagrams_response.status_code == 200 # Get field status diagrams_response = session.get( '/rest/dependency-map/1.0/field/status') assert diagrams_response.status_code == 200 field = diagrams_response.json()["id"] # Get field priority diagrams_response = session.get( '/rest/dependency-map/1.0/field/priority') assert diagrams_response.status_code == 200 field2 = diagrams_response.json()["id"] #Get filterKey randomly among the project in the project file filterKey = getRandomFilter(session) # Create diagram payload = { 'name': "F100", 'author': userKey, 'lastEditedBy': userKey, 'layoutId': 2, 'filterKey': filterKey, 'boxColorFieldKey': field, 'groupedLayoutFieldKey': field, 'matrixLayoutHorizontalFieldKey': field, 'matrixLayoutVerticalFieldKey': field2 } diagrams_response = session.post('/rest/dependency-map/1.0/diagram', json=payload) assert diagrams_response.status_code == 200 diagramId = diagrams_response.json()['id'] print("Hej") ##FIND DIAGRAM # To make it thread save need to create the diagram before removing # Get user diagrams_response = session.get('/rest/dependency-map/1.0/user') assert diagrams_response.status_code == 200 userKey = diagrams_response.json()["key"] # Get filter key diagrams_response = session.get( '/rest/dependency-map/1.0/filter?searchTerm=&page=0&resultsPerPage=25' ) assert diagrams_response.status_code == 200 #Get favoritDiagram diagrams_response = session.get( '/rest/dependency-map/1.0/favoriteDiagram') assert diagrams_response.status_code == 200 #Get diagrams with filterKey diagrams_response = session.get( '/rest/dependency-map/1.0/diagram?filterKey=' + filterKey + '&searchTerm=&sortBy=name&reverseSort=&startAt=0&maxResults=50') assert diagrams_response.status_code == 200 # #Get filter diagrams_response = session.get('/rest/api/2/filter/' + filterKey) assert diagrams_response.status_code == 200 #Get diagram diagrams_response = session.get('/rest/dependency-map/1.0/diagram/' + str(diagramId)) assert diagrams_response.status_code == 200 ##REMOVE #remove diagrams_response2 = session.delete( '/rest/dependency-map/1.0/diagram/' + str(diagramId)) assert diagrams_response2.status_code == 200 print_in_shell("Diagram removed" + str(diagramId)) #print_in_shell( diagrams_response.json() ); #get all diagrams after delete diagrams_response = session.get( '/rest/dependency-map/1.0/diagram?filterKey=' + filterKey + '&searchTerm=&sortBy=name&reverseSort=&startAt=0&maxResults=50') assert diagrams_response.status_code == 200
def create_data(session): # Get user diagrams_response = session.get('/rest/dependency-map/1.0/user') assert diagrams_response.status_code == 200 userKey = diagrams_response.json()["key"] print_in_shell("User key: " + userKey) # Get filter key diagrams_response = session.get( '/rest/dependency-map/1.0/filter?searchTerm=&page=0&resultsPerPage=25') assert diagrams_response.status_code == 200 # Get field priority diagrams_response = session.get('/rest/dependency-map/1.0/field/priority') assert diagrams_response.status_code == 200 field = diagrams_response.json()["id"] # Get field status diagrams_response = session.get('/rest/dependency-map/1.0/field/status') assert diagrams_response.status_code == 200 field2 = diagrams_response.json()["id"] # Get field fix version diagrams_response = session.get( '/rest/dependency-map/1.0/field/fixVersions') assert diagrams_response.status_code == 200 field3 = diagrams_response.json()["id"] # Get project and filter id from the list of projects we shall use, saved in a file projectId = getRandomProjectId() filterId = getFilterId(projectId) # Create diagram payload = { 'name': "F100", 'author': userKey, 'lastEditedBy': userKey, 'layoutId': 2, 'filterKey': filterId, 'boxColorFieldKey': field, 'groupedLayoutFieldKey': field2, 'matrixLayoutHorizontalFieldKey': field2, 'matrixLayoutVerticalFieldKey': field3 } diagrams_response = session.post('/rest/dependency-map/1.0/diagram', json=payload) assert diagrams_response.status_code == 200 diagramId = diagrams_response.json()['id'] diagramIdStr = str(diagramId) print_in_shell("Nytt diagram med id=" + diagramIdStr) saveRemoveDiagramCmd(diagramIdStr) ############################################################## # Add to favorit ############################################################## #Get favoritDiagram diagrams_response = session.get('/rest/dependency-map/1.0/favoriteDiagram') assert diagrams_response.status_code == 200 favoritDiagrams = diagrams_response.json() #add to favorits favoritDiagrams.insert(0, diagramId) payload = favoritDiagrams diagrams_response = session.post( '/rest/dependency-map/1.0/favoriteDiagram') #Get favoritDiagram diagrams_response = session.get('/rest/dependency-map/1.0/favoriteDiagram') assert diagrams_response.status_code == 200 favoritDiagrams = diagrams_response.json() #update box colore resource entry, created if not exists. payload = { "diagramId": diagramId, "fieldId": "status", "fieldOptionId": 1, "colorPaletteEntryId": 5 } diagrams_response = session.post('/rest/dependency-map/1.0/boxColor', json=payload) assert diagrams_response.status_code == 200 #print_in_shell( diagrams_response.json() ) ####################################################### # Creae linkConfig ####################################################### #Get color palet entrie diagrams_response = session.get( '/rest/dependency-map/1.0/colorPaletteEntry?paletteId=' + '1') assert diagrams_response.status_code == 200 print(diagrams_response.json()) colorPaletteEntryId = diagrams_response.json()[14]["id"] colorPaletteEntryId2 = diagrams_response.json()[10]["id"] colorPaletteEntryId3 = diagrams_response.json()[12]["id"] diagrams_response = session.get('/rest/api/2/issueLinkType') issueLinkTypeIdStr = diagrams_response.json()['issueLinkTypes'][0]['id'] issueLinkTypeId = int(issueLinkTypeIdStr) issueLinkTypeId2Str = diagrams_response.json()['issueLinkTypes'][1]['id'] issueLinkTypeId2 = int(issueLinkTypeId2Str) issueLinkTypeId3Str = diagrams_response.json()['issueLinkTypes'][2]['id'] issueLinkTypeId3 = int(issueLinkTypeId3Str) payload = { 'diagramId': diagramId, 'linkKey': issueLinkTypeId, 'visible': True, 'dashType': 0, 'width': 0, 'colorPaletteEntryId': colorPaletteEntryId } diagrams_response = session.post( '/rest/dependency-map/1.0/linkConfig?diagramId=' + diagramIdStr, json=payload) assert (diagrams_response.status_code == 200) payload = { 'diagramId': diagramId, 'linkKey': issueLinkTypeId2, 'visible': True, 'dashType': 0, 'width': 0, 'colorPaletteEntryId': colorPaletteEntryId2 } diagrams_response = session.post( '/rest/dependency-map/1.0/linkConfig?diagramId=' + diagramIdStr, json=payload) assert (diagrams_response.status_code == 200) payload = { 'diagramId': diagramId, 'linkKey': issueLinkTypeId3, 'visible': True, 'dashType': 0, 'width': 0, 'colorPaletteEntryId': colorPaletteEntryId3 } diagrams_response = session.post( '/rest/dependency-map/1.0/linkConfig?diagramId=' + diagramIdStr, json=payload) assert (diagrams_response.status_code == 200) yield { 'diagramId': diagramId, 'projectId': projectId, 'filterId': filterId } diagrams_response2 = session.delete('/rest/dependency-map/1.0/diagram/' + diagramIdStr) assert diagrams_response2.status_code == 200 print_in_shell("Deleted diagram id=" + diagramIdStr) return { 'diagramId': diagramId, 'projectId': projectId, 'filerId': filterId }
def test_create_diagram_flow_cd(self, base_url, session): #JIRA Get list of available link types HOSTNAME = os.environ.get('application_hostname') # Get field priority # diagrams_response = session.get( '/rest/dependency-map/1.0/field/priority') assert diagrams_response.status_code == 200 field = diagrams_response.json()["id"] # Get field option priority # diagrams_response = session.get( '/rest/dependency-map/1.0/fieldOption/priority') assert diagrams_response.status_code == 200 print(diagrams_response.json()) # Get color palette entry# diagrams_response = session.get( '/rest/dependency-map/1.0/colorPaletteEntry?palettId=' + '1') assert diagrams_response.status_code == 200 # Get issue linktype # diagrams_response = session.get('/rest/api/2/issueLinkType') assert diagrams_response.status_code == 200 # Get field # diagrams_response = session.get('/rest/api/2/field') assert diagrams_response.status_code == 200 # Get field # diagrams_response = session.get('/rest/api/2/field') assert diagrams_response.status_code == 200 # Get field fix version # diagrams_response = session.get( '/rest/dependency-map/1.0/field/fixVersions') assert diagrams_response.status_code == 200 field3 = diagrams_response.json()["id"] ############ Give name and select filter # Get filter diagrams_response = session.get( '/rest/dependency-map/1.0/filter?searchTerm=&page=0&resultsPerPage=25' ) assert diagrams_response.status_code == 200 # Get color palette entry# diagrams_response = session.get( '/rest/dependency-map/1.0/colorPaletteEntry?palettId=' + '0') assert diagrams_response.status_code == 200 # Get field priority , repeat this because if some other value was selected such a call had been made# diagrams_response = session.get( '/rest/dependency-map/1.0/field/priority') assert diagrams_response.status_code == 200 field = diagrams_response.json()["id"] # Get field option priority # diagrams_response = session.get( '/rest/dependency-map/1.0/fieldOption/priority') assert diagrams_response.status_code == 200 ############# Select issue color field # Get filter - diagrams_response = session.get( '/rest/dependency-map/1.0/filter?searchTerm=&page=0&resultsPerPage=25' ) assert diagrams_response.status_code == 200 #Get color palet entry diagrams_response = session.get( '/rest/dependency-map/1.0/colorPaletteEntry?palettId=' + '0') assert diagrams_response.status_code == 200 ############# Select Map layout matrix # Get field status diagrams_response = session.get( '/rest/dependency-map/1.0/field/status') assert diagrams_response.status_code == 200 field2 = diagrams_response.json()["id"] ############# Select filter # Get filter - diagrams_response = session.get( '/rest/dependency-map/1.0/filter?searchTerm=&page=0&resultsPerPage=25' ) assert diagrams_response.status_code == 200 ############## Select columns field # Get filter - diagrams_response = session.get( '/rest/dependency-map/1.0/filter?searchTerm=&page=0&resultsPerPage=25' ) assert diagrams_response.status_code == 200 ################ Create diagram ##################### #Get filterKey randomly among the project in the project file filterKey = getRandomFilter(session) # Get user diagrams_response = session.get('/rest/dependency-map/1.0/user') assert diagrams_response.status_code == 200 userKey = diagrams_response.json()["key"] # Create diagram payload = { 'name': "F100", 'author': userKey, 'lastEditedBy': userKey, 'layoutId': 2, 'filterKey': filterKey, 'boxColorFieldKey': field, 'groupedLayoutFieldKey': field2, 'matrixLayoutHorizontalFieldKey': field2, 'matrixLayoutVerticalFieldKey': field3 } diagrams_response = session.post('/rest/dependency-map/1.0/diagram', json=payload) assert diagrams_response.status_code == 200 diagramId = diagrams_response.json()['id'] guid = diagrams_response.json()['guid'] diagramKey = str(diagramId) saveRemoveDiagramCmd(diagramId) #get diagram diagrams_response = session.get('/rest/dependency-map/1.0/diagram/' + diagramKey) ###### update issue colors # Get user diagrams_response = session.get('/rest/dependency-map/1.0/user') assert diagrams_response.status_code == 200 userKey = diagrams_response.json()["key"] #Update diagram payload = { 'name': "F200", 'id': diagramId, 'author': userKey, 'lastEditedBy': userKey, 'layoutId': 2, 'filterKey': filterKey, 'boxColorFieldKey': field, 'groupedLayoutFieldKey': field2, 'matrixLayoutHorizontalFieldKey': field2, 'matrixLayoutVerticalFieldKey': field3, 'guid': guid } diagrams_response = session.put('/rest/dependency-map/1.0/diagram', json=payload) print(diagrams_response.json()) assert diagrams_response.status_code == 200 #create box colore resource entries. payload = { "diagramId": diagramId, "fieldId": "priority", "fieldOptionId": 1, "colorPaletteEntryId": 5 } diagrams_response = session.post('/rest/dependency-map/1.0/boxColor', json=payload) assert diagrams_response.status_code == 200 payload = { "diagramId": diagramId, "fieldId": "priority", "fieldOptionId": 2, "colorPaletteEntryId": 6 } diagrams_response = session.post('/rest/dependency-map/1.0/boxColor', json=payload) assert diagrams_response.status_code == 200 payload = { "diagramId": diagramId, "fieldId": "priority", "fieldOptionId": 3, "colorPaletteEntryId": 7 } diagrams_response = session.post('/rest/dependency-map/1.0/boxColor', json=payload) assert diagrams_response.status_code == 200 payload = { "diagramId": diagramId, "fieldId": "priority", "fieldOptionId": 4, "colorPaletteEntryId": 8 } diagrams_response = session.post('/rest/dependency-map/1.0/boxColor', json=payload) assert diagrams_response.status_code == 200 ###############Create link config entries # Get user diagrams_response = session.get('/rest/dependency-map/1.0/user') assert diagrams_response.status_code == 200 userKey = diagrams_response.json()["key"] #Update diagram payload = { 'name': "F100", 'id': diagramId, 'author': userKey, 'lastEditedBy': userKey, 'layoutId': 2, 'filterKey': filterKey, 'boxColorFieldKey': field, 'groupedLayoutFieldKey': field2, 'matrixLayoutHorizontalFieldKey': field2, 'matrixLayoutVerticalFieldKey': field3, 'guid': guid } diagrams_response = session.put('/rest/dependency-map/1.0/diagram', json=payload) assert diagrams_response.status_code == 200 #Get color palet entrie diagrams_response = session.get( '/rest/dependency-map/1.0/colorPaletteEntry?paletteId=' + '1') assert diagrams_response.status_code == 200 print(diagrams_response.json()) colorPaletteEntryId = diagrams_response.json()[14]["id"] colorPaletteEntryId2 = diagrams_response.json()[10]["id"] colorPaletteEntryId3 = diagrams_response.json()[12]["id"] #Create linkConfig diagrams_response = session.get('/rest/api/2/issueLinkType') print(diagrams_response.json()) issueLinkTypeIdStr = diagrams_response.json( )['issueLinkTypes'][0]['id'] issueLinkTypeId = int(issueLinkTypeIdStr) issueLinkTypeId2Str = diagrams_response.json( )['issueLinkTypes'][1]['id'] issueLinkTypeId2 = int(issueLinkTypeId2Str) issueLinkTypeId3Str = diagrams_response.json( )['issueLinkTypes'][2]['id'] issueLinkTypeId3 = int(issueLinkTypeId3Str) payload = { 'diagramId': diagramId, 'linkKey': issueLinkTypeId, 'visible': True, 'dashType': 0, 'width': 0, 'colorPaletteEntryId': colorPaletteEntryId } diagrams_response = session.post( '/rest/dependency-map/1.0/linkConfig?diagramId=' + diagramKey, json=payload) assert (diagrams_response.status_code == 200) payload = { 'diagramId': diagramId, 'linkKey': issueLinkTypeId2, 'visible': True, 'dashType': 0, 'width': 0, 'colorPaletteEntryId': colorPaletteEntryId2 } diagrams_response = session.post( '/rest/dependency-map/1.0/linkConfig?diagramId=' + diagramKey, json=payload) assert (diagrams_response.status_code == 200) payload = { 'diagramId': diagramId, 'linkKey': issueLinkTypeId3, 'visible': True, 'dashType': 0, 'width': 0, 'colorPaletteEntryId': colorPaletteEntryId3 } diagrams_response = session.post( '/rest/dependency-map/1.0/linkConfig?diagramId=' + diagramKey, json=payload) assert (diagrams_response.status_code == 200) print("inside11")
def test_create_change_link(self, base_url, session): # Get project and filter id from the list of projects we shall use, saved in a file projectId = getRandomProjectId() filterId = getFilterId(projectId) # Get user diagrams_response = session.get('/rest/dependency-map/1.0/user') assert diagrams_response.status_code == 200 userKey = diagrams_response.json()["key"] print_in_shell("User key: " + userKey) # Create diagram payload = { 'name': "E100", 'author': userKey, 'lastEditedBy': userKey, 'layoutId': 0, 'filterKey': filterId, 'boxColorFieldKey': "priority", 'groupedLayoutFieldKey': "priority", 'matrixLayoutHorizontalFieldKey': 'fixVersions', 'matrixLayoutVerticalFieldKey': 'fixVersions' } diagrams_response = session.post('/rest/dependency-map/1.0/diagram', json=payload) newDiagram = diagrams_response.json() diagramId = str(newDiagram["id"]) saveRemoveDiagramCmd(diagramId) issueLinkTypeId = get_link_type(session) print(issueLinkTypeId) # Get all link configs #diagrams_response = session.get('/rest/dependency-map/1.0/linkConfig?diagramId=' + diagramId) #print_in_shell("all link configs") #print_in_shell( diagrams_response.json() ) # Create linkConfig payload = { 'diagramId': diagramId, 'linkKey': issueLinkTypeId, 'visible': True, 'dashType': 0, 'width': 0, 'colorPaletteEntryId': 20 } diagrams_response = session.post( '/rest/dependency-map/1.0/linkConfig?diagramId=' + diagramId, json=payload) newLinkConfig = diagrams_response.json() linkConfigId = str(newLinkConfig["id"]) print_in_shell(linkConfigId) assert (diagrams_response.status_code == 200) # Update linkConfig payload = { 'id': linkConfigId, 'diagramId': diagramId, 'linkKey': issueLinkTypeId, 'visible': True, 'dashType': 1, 'width': 2, 'colorPaletteEntryId': 39 } diagrams_response = session.put( '/rest/dependency-map/1.0/linkConfig?diagramId=' + diagramId, json=payload) assert (diagrams_response.status_code == 200) # Get all link configs diagrams_response = session.get( '/rest/dependency-map/1.0/linkConfig?diagramId=' + diagramId) print_in_shell(diagrams_response.json())