mirror of
https://github.com/interviewstreet/go-jira.git
synced 2025-01-03 22:52:17 +02:00
feat: Add GetAllStatuses
This commit is contained in:
parent
52ab347903
commit
afc96b18d1
12
issue.go
12
issue.go
@ -268,18 +268,6 @@ type Component struct {
|
||||
Name string `json:"name,omitempty" structs:"name,omitempty"`
|
||||
}
|
||||
|
||||
// Status represents the current status of a JIRA issue.
|
||||
// Typical status are "Open", "In Progress", "Closed", ...
|
||||
// Status can be user defined in every JIRA instance.
|
||||
type Status struct {
|
||||
Self string `json:"self" structs:"self"`
|
||||
Description string `json:"description" structs:"description"`
|
||||
IconURL string `json:"iconUrl" structs:"iconUrl"`
|
||||
Name string `json:"name" structs:"name"`
|
||||
ID string `json:"id" structs:"id"`
|
||||
StatusCategory StatusCategory `json:"statusCategory" structs:"statusCategory"`
|
||||
}
|
||||
|
||||
// Progress represents the progress of a JIRA issue.
|
||||
type Progress struct {
|
||||
Progress int `json:"progress" structs:"progress"`
|
||||
|
2
jira.go
2
jira.go
@ -49,6 +49,7 @@ type Client struct {
|
||||
Filter *FilterService
|
||||
Role *RoleService
|
||||
PermissionScheme *PermissionSchemeService
|
||||
Status *StatusService
|
||||
}
|
||||
|
||||
// NewClient returns a new JIRA API client.
|
||||
@ -93,6 +94,7 @@ func NewClient(httpClient httpClient, baseURL string) (*Client, error) {
|
||||
c.Filter = &FilterService{client: c}
|
||||
c.Role = &RoleService{client: c}
|
||||
c.PermissionScheme = &PermissionSchemeService{client: c}
|
||||
c.Status = &StatusService{client: c}
|
||||
|
||||
return c, nil
|
||||
}
|
||||
|
520
mocks/all_statuses.json
Normal file
520
mocks/all_statuses.json
Normal file
@ -0,0 +1,520 @@
|
||||
[
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/1",
|
||||
"description": "The issue is open and ready for the assignee to start work on it.",
|
||||
"iconUrl": "https://test.jira.org/images/icons/statuses/open.png",
|
||||
"name": "Idea",
|
||||
"id": "1",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/2",
|
||||
"id": 2,
|
||||
"key": "new",
|
||||
"colorName": "blue-gray",
|
||||
"name": "To Do"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10000",
|
||||
"description": "",
|
||||
"iconUrl": "https://test.jira.org/images/icons/statuses/generic.png",
|
||||
"name": "Archived",
|
||||
"id": "10000",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/1",
|
||||
"id": 1,
|
||||
"key": "undefined",
|
||||
"colorName": "medium-gray",
|
||||
"name": "No Category"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10001",
|
||||
"description": "",
|
||||
"iconUrl": "https://test.jira.org/",
|
||||
"name": "Input",
|
||||
"id": "10001",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/2",
|
||||
"id": 2,
|
||||
"key": "new",
|
||||
"colorName": "blue-gray",
|
||||
"name": "To Do"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10002",
|
||||
"description": "",
|
||||
"iconUrl": "https://test.jira.org/",
|
||||
"name": "Triage",
|
||||
"id": "10002",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/2",
|
||||
"id": 2,
|
||||
"key": "new",
|
||||
"colorName": "blue-gray",
|
||||
"name": "To Do"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10003",
|
||||
"description": "",
|
||||
"iconUrl": "https://test.jira.org/",
|
||||
"name": "Specs",
|
||||
"id": "10003",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/2",
|
||||
"id": 2,
|
||||
"key": "new",
|
||||
"colorName": "blue-gray",
|
||||
"name": "To Do"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10004",
|
||||
"description": "This status is managed internally by JIRA Software",
|
||||
"iconUrl": "https://test.jira.org/",
|
||||
"name": "QA",
|
||||
"id": "10004",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/4",
|
||||
"id": 4,
|
||||
"key": "indeterminate",
|
||||
"colorName": "yellow",
|
||||
"name": "In Progress"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10005",
|
||||
"description": "This status is managed internally by JIRA Software",
|
||||
"iconUrl": "https://test.jira.org/",
|
||||
"name": "Icebox",
|
||||
"id": "10005",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/2",
|
||||
"id": 2,
|
||||
"key": "new",
|
||||
"colorName": "blue-gray",
|
||||
"name": "To Do"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10006",
|
||||
"description": "This status is managed internally by JIRA Software",
|
||||
"iconUrl": "https://test.jira.org/",
|
||||
"name": "To Be Specced",
|
||||
"id": "10006",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/2",
|
||||
"id": 2,
|
||||
"key": "new",
|
||||
"colorName": "blue-gray",
|
||||
"name": "To Do"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10100",
|
||||
"description": "This status is managed internally by JIRA Software",
|
||||
"iconUrl": "https://test.jira.org/",
|
||||
"name": "Blocked",
|
||||
"id": "10100",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/4",
|
||||
"id": 4,
|
||||
"key": "indeterminate",
|
||||
"colorName": "yellow",
|
||||
"name": "In Progress"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10203",
|
||||
"description": "",
|
||||
"iconUrl": "https://test.jira.org/images/icons/status_generic.gif",
|
||||
"name": "Rejected",
|
||||
"id": "10203",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/3",
|
||||
"id": 3,
|
||||
"key": "done",
|
||||
"colorName": "green",
|
||||
"name": "Done"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10205",
|
||||
"description": "This status is managed internally by JIRA Software",
|
||||
"iconUrl": "https://test.jira.org/",
|
||||
"name": "Validation",
|
||||
"id": "10205",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/2",
|
||||
"id": 2,
|
||||
"key": "new",
|
||||
"colorName": "blue-gray",
|
||||
"name": "To Do"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10300",
|
||||
"description": "This status is managed internally by JIRA Software",
|
||||
"iconUrl": "https://test.jira.org/",
|
||||
"name": "Graveyard",
|
||||
"id": "10300",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/3",
|
||||
"id": 3,
|
||||
"key": "done",
|
||||
"colorName": "green",
|
||||
"name": "Done"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10400",
|
||||
"description": "",
|
||||
"iconUrl": "https://test.jira.org/images/icons/status_generic.gif",
|
||||
"name": "To Do",
|
||||
"id": "10400",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/2",
|
||||
"id": 2,
|
||||
"key": "new",
|
||||
"colorName": "blue-gray",
|
||||
"name": "To Do"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10502",
|
||||
"description": "",
|
||||
"iconUrl": "https://test.jira.org/images/icons/statuses/generic.png",
|
||||
"name": "Sales (Jan)",
|
||||
"id": "10502",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/1",
|
||||
"id": 1,
|
||||
"key": "undefined",
|
||||
"colorName": "medium-gray",
|
||||
"name": "No Category"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10503",
|
||||
"description": "",
|
||||
"iconUrl": "https://test.jira.org/images/icons/statuses/generic.png",
|
||||
"name": "Being addressed",
|
||||
"id": "10503",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/1",
|
||||
"id": 1,
|
||||
"key": "undefined",
|
||||
"colorName": "medium-gray",
|
||||
"name": "No Category"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10504",
|
||||
"description": "",
|
||||
"iconUrl": "https://test.jira.org/images/icons/statuses/generic.png",
|
||||
"name": "Raw feedback",
|
||||
"id": "10504",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/1",
|
||||
"id": 1,
|
||||
"key": "undefined",
|
||||
"colorName": "medium-gray",
|
||||
"name": "No Category"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10505",
|
||||
"description": "",
|
||||
"iconUrl": "https://test.jira.org/images/icons/statuses/generic.png",
|
||||
"name": "Templates",
|
||||
"id": "10505",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/1",
|
||||
"id": 1,
|
||||
"key": "undefined",
|
||||
"colorName": "medium-gray",
|
||||
"name": "No Category"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10506",
|
||||
"description": "",
|
||||
"iconUrl": "https://test.jira.org/images/icons/statuses/generic.png",
|
||||
"name": "Persona: Traveler (owner TBD)",
|
||||
"id": "10506",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/1",
|
||||
"id": 1,
|
||||
"key": "undefined",
|
||||
"colorName": "medium-gray",
|
||||
"name": "No Category"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10507",
|
||||
"description": "",
|
||||
"iconUrl": "https://test.jira.org/images/icons/statuses/generic.png",
|
||||
"name": "Persona: Booker (owner: Sumit)",
|
||||
"id": "10507",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/1",
|
||||
"id": 1,
|
||||
"key": "undefined",
|
||||
"colorName": "medium-gray",
|
||||
"name": "No Category"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10508",
|
||||
"description": "",
|
||||
"iconUrl": "https://test.jira.org/images/icons/statuses/generic.png",
|
||||
"name": "Bugs",
|
||||
"id": "10508",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/1",
|
||||
"id": 1,
|
||||
"key": "undefined",
|
||||
"colorName": "medium-gray",
|
||||
"name": "No Category"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10510",
|
||||
"description": "This status is managed internally by JIRA Software",
|
||||
"iconUrl": "https://test.jira.org/",
|
||||
"name": "cannot reproduce",
|
||||
"id": "10510",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/3",
|
||||
"id": 3,
|
||||
"key": "done",
|
||||
"colorName": "green",
|
||||
"name": "Done"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10601",
|
||||
"description": "This status is managed internally by JIRA Software",
|
||||
"iconUrl": "https://test.jira.org/",
|
||||
"name": "Done",
|
||||
"id": "10601",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/3",
|
||||
"id": 3,
|
||||
"key": "done",
|
||||
"colorName": "green",
|
||||
"name": "Done"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10602",
|
||||
"description": "This status is managed internally by JIRA Software",
|
||||
"iconUrl": "https://test.jira.org/",
|
||||
"name": "In Progress",
|
||||
"id": "10602",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/4",
|
||||
"id": 4,
|
||||
"key": "indeterminate",
|
||||
"colorName": "yellow",
|
||||
"name": "In Progress"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10603",
|
||||
"description": "This status is managed internally by JIRA Software",
|
||||
"iconUrl": "https://test.jira.org/",
|
||||
"name": "Backlog",
|
||||
"id": "10603",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/2",
|
||||
"id": 2,
|
||||
"key": "new",
|
||||
"colorName": "blue-gray",
|
||||
"name": "To Do"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10700",
|
||||
"description": "This status is managed internally by JIRA Software",
|
||||
"iconUrl": "https://test.jira.org/",
|
||||
"name": "Specs Complete",
|
||||
"id": "10700",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/3",
|
||||
"id": 3,
|
||||
"key": "done",
|
||||
"colorName": "green",
|
||||
"name": "Done"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10801",
|
||||
"description": "This status is managed internally by Jira Software",
|
||||
"iconUrl": "https://test.jira.org/",
|
||||
"name": "Delivered",
|
||||
"id": "10801",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/4",
|
||||
"id": 4,
|
||||
"key": "indeterminate",
|
||||
"colorName": "yellow",
|
||||
"name": "In Progress"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10803",
|
||||
"description": "",
|
||||
"iconUrl": "https://test.jira.org/",
|
||||
"name": "Selected for Development",
|
||||
"id": "10803",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/2",
|
||||
"id": 2,
|
||||
"key": "new",
|
||||
"colorName": "blue-gray",
|
||||
"name": "To Do"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10831",
|
||||
"description": "This status is managed internally by Jira Software",
|
||||
"iconUrl": "https://test.jira.org/",
|
||||
"name": "Evaluated",
|
||||
"id": "10831",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/2",
|
||||
"id": 2,
|
||||
"key": "new",
|
||||
"colorName": "blue-gray",
|
||||
"name": "To Do"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10832",
|
||||
"description": "This status is managed internally by Jira Software",
|
||||
"iconUrl": "https://test.jira.org/",
|
||||
"name": "Speccing",
|
||||
"id": "10832",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/4",
|
||||
"id": 4,
|
||||
"key": "indeterminate",
|
||||
"colorName": "yellow",
|
||||
"name": "In Progress"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10833",
|
||||
"description": "This status is managed internally by Jira Software",
|
||||
"iconUrl": "https://test.jira.org/",
|
||||
"name": "In development",
|
||||
"id": "10833",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/4",
|
||||
"id": 4,
|
||||
"key": "indeterminate",
|
||||
"colorName": "yellow",
|
||||
"name": "In Progress"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10834",
|
||||
"description": "This status is managed internally by Jira Software",
|
||||
"iconUrl": "https://test.jira.org/",
|
||||
"name": "Ready for development",
|
||||
"id": "10834",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/2",
|
||||
"id": 2,
|
||||
"key": "new",
|
||||
"colorName": "blue-gray",
|
||||
"name": "To Do"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10835",
|
||||
"description": "This status is managed internally by Jira Software",
|
||||
"iconUrl": "https://test.jira.org/",
|
||||
"name": "Evaluating",
|
||||
"id": "10835",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/4",
|
||||
"id": 4,
|
||||
"key": "indeterminate",
|
||||
"colorName": "yellow",
|
||||
"name": "In Progress"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10836",
|
||||
"description": "This status is managed internally by Jira Software",
|
||||
"iconUrl": "https://test.jira.org/",
|
||||
"name": "Needs Product Decision",
|
||||
"id": "10836",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/2",
|
||||
"id": 2,
|
||||
"key": "new",
|
||||
"colorName": "blue-gray",
|
||||
"name": "To Do"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10837",
|
||||
"description": "This status is managed internally by Jira Software",
|
||||
"iconUrl": "https://test.jira.org/",
|
||||
"name": "Test failed",
|
||||
"id": "10837",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/4",
|
||||
"id": 4,
|
||||
"key": "indeterminate",
|
||||
"colorName": "yellow",
|
||||
"name": "In Progress"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10838",
|
||||
"description": "This status is managed internally by Jira Software",
|
||||
"iconUrl": "https://test.jira.org/",
|
||||
"name": "In Review",
|
||||
"id": "10838",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/4",
|
||||
"id": 4,
|
||||
"key": "indeterminate",
|
||||
"colorName": "yellow",
|
||||
"name": "In Progress"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10839",
|
||||
"description": "This status is managed internally by Jira Software",
|
||||
"iconUrl": "https://test.jira.org/",
|
||||
"name": "Reviewed",
|
||||
"id": "10839",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/4",
|
||||
"id": 4,
|
||||
"key": "indeterminate",
|
||||
"colorName": "yellow",
|
||||
"name": "In Progress"
|
||||
}
|
||||
},
|
||||
{
|
||||
"self": "https://test.jira.org/rest/api/2/status/10840",
|
||||
"description": "This status is managed internally by Jira Software",
|
||||
"iconUrl": "https://test.jira.org/",
|
||||
"name": "Designing",
|
||||
"id": "10840",
|
||||
"statusCategory": {
|
||||
"self": "https://test.jira.org/rest/api/2/statuscategory/4",
|
||||
"id": 4,
|
||||
"key": "indeterminate",
|
||||
"colorName": "yellow",
|
||||
"name": "In Progress"
|
||||
}
|
||||
}
|
||||
]
|
40
status.go
Normal file
40
status.go
Normal file
@ -0,0 +1,40 @@
|
||||
package jira
|
||||
|
||||
// StatusService handles staties for the JIRA instance / API.
|
||||
//
|
||||
// JIRA API docs: https://developer.atlassian.com/cloud/jira/platform/rest/v2/#api-group-Workflow-statuses
|
||||
type StatusService struct {
|
||||
client *Client
|
||||
}
|
||||
|
||||
// Status represents the current status of a JIRA issue.
|
||||
// Typical status are "Open", "In Progress", "Closed", ...
|
||||
// Status can be user defined in every JIRA instance.
|
||||
type Status struct {
|
||||
Self string `json:"self" structs:"self"`
|
||||
Description string `json:"description" structs:"description"`
|
||||
IconURL string `json:"iconUrl" structs:"iconUrl"`
|
||||
Name string `json:"name" structs:"name"`
|
||||
ID string `json:"id" structs:"id"`
|
||||
StatusCategory StatusCategory `json:"statusCategory" structs:"statusCategory"`
|
||||
}
|
||||
|
||||
// GetAllStatuses returns a list of all statuses associated with workflows.
|
||||
//
|
||||
// JIRA API docs: https://developer.atlassian.com/cloud/jira/platform/rest/v2/#api-rest-api-2-status-get
|
||||
func (s *StatusService) GetAllStatuses() ([]Status, *Response, error) {
|
||||
apiEndpoint := "rest/api/2/status"
|
||||
req, err := s.client.NewRequest("GET", apiEndpoint, nil)
|
||||
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
statusList := []Status{}
|
||||
resp, err := s.client.Do(req, &statusList)
|
||||
if err != nil {
|
||||
return nil, resp, NewJiraError(resp, err)
|
||||
}
|
||||
|
||||
return statusList, resp, nil
|
||||
}
|
35
status_test.go
Normal file
35
status_test.go
Normal file
@ -0,0 +1,35 @@
|
||||
package jira
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestStatusService_GetAllStatuses(t *testing.T) {
|
||||
setup()
|
||||
defer teardown()
|
||||
testAPIEdpoint := "/rest/api/2/status"
|
||||
|
||||
raw, err := ioutil.ReadFile("./mocks/all_statuses.json")
|
||||
if err != nil {
|
||||
t.Error(err.Error())
|
||||
}
|
||||
|
||||
testMux.HandleFunc(testAPIEdpoint, func(w http.ResponseWriter, r *http.Request) {
|
||||
testMethod(t, r, "GET")
|
||||
testRequestURL(t, r, testAPIEdpoint)
|
||||
fmt.Fprint(w, string(raw))
|
||||
})
|
||||
|
||||
statusList, _, err := testClient.Status.GetAllStatuses()
|
||||
|
||||
if statusList == nil {
|
||||
t.Error("Expected statusList. statusList is nill")
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
t.Errorf("Error given: %s", err)
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user