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)
示例#2
0
    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() )
示例#3
0
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...")
示例#6
0
    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())
示例#7
0
    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")
示例#8
0
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
    }
示例#9
0
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
示例#11
0
    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")
示例#14
0
    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())