Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[GH-604]: Feature to create a subscription template for Jira subscriptions. #897

Open
wants to merge 17 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
[GH-604]: fixed the testcases
Kshitij-Katiyar committed Oct 23, 2024
commit 26e3e2f1fba2397bd9abd082e5d4a7186c101a9d
34 changes: 17 additions & 17 deletions server/http_test.go
Original file line number Diff line number Diff line change
@@ -1068,7 +1068,7 @@ func TestEditSubscriptionTemplate(t *testing.T) {
},
"Editing subscription template": {
subscriptionTemplate: `{
"instance_id": "jiraurl1",
"instance_id": "https://jiraurl1.com",
"name": "mockName",
"id": "mockTemplateID1___________",
"filters": {
@@ -1100,7 +1100,7 @@ func TestEditSubscriptionTemplate(t *testing.T) {
}), t),
},
"Editing subscription template, no name provided": {
subscriptionTemplate: `{"instance_id": "jiraurl1", "name": "", "id": "mockTemplateID1___________", "channel_id": "mockChannelID_____________", "filters": {"events": ["jira:issue_created"], "projects": ["otherproject"], "issue_types": ["10001"]}}`,
subscriptionTemplate: `{"instance_id": "https://jiraurl1.com", "name": "", "id": "mockTemplateID1___________", "channel_id": "mockChannelID_____________", "filters": {"events": ["jira:issue_created"], "projects": ["otherproject"], "issue_types": ["10001"]}}`,
expectedStatusCode: http.StatusInternalServerError,
apiCalls: checkHasSubscriptionTemplates([]SubscriptionTemplate{},
withExistingChannelSubscriptionTemplates(
@@ -1112,7 +1112,7 @@ func TestEditSubscriptionTemplate(t *testing.T) {
}), t),
},
"Editing subscription template, name too long": {
subscriptionTemplate: `{"instance_id": "jiraurl1", "name": "` + TestDataLongSubscriptionName + `", "id": "mockTemplateID1___________", "channel_id": "mockChannelID_____________", "filters": {"events": ["jira:issue_created"], "projects": ["otherproject"], "issue_types": ["10001"]}}`,
subscriptionTemplate: `{"instance_id": "https://jiraurl1.com", "name": "` + TestDataLongSubscriptionName + `", "id": "mockTemplateID1___________", "channel_id": "mockChannelID_____________", "filters": {"events": ["jira:issue_created"], "projects": ["otherproject"], "issue_types": ["10001"]}}`,
expectedStatusCode: http.StatusInternalServerError,
apiCalls: checkHasSubscriptionTemplates([]SubscriptionTemplate{},
withExistingChannelSubscriptionTemplates(
@@ -1124,7 +1124,7 @@ func TestEditSubscriptionTemplate(t *testing.T) {
}), t),
},
"Editing subscription template, no project provided": {
subscriptionTemplate: `{"instance_id": "jiraurl1", "name": "mockName", "id": "mockTemplateID1___________", "channel_id": "mockChannelID_____________", "filters": {"events": ["jira:issue_created"], "projects": [], "issue_types": ["10001"]}}`,
subscriptionTemplate: `{"instance_id": "https://jiraurl1.com", "name": "mockName", "id": "mockTemplateID1___________", "channel_id": "mockChannelID_____________", "filters": {"events": ["jira:issue_created"], "projects": [], "issue_types": ["10001"]}}`,
expectedStatusCode: http.StatusInternalServerError,
apiCalls: checkHasSubscriptionTemplates([]SubscriptionTemplate{},
withExistingChannelSubscriptionTemplates(
@@ -1136,7 +1136,7 @@ func TestEditSubscriptionTemplate(t *testing.T) {
}), t),
},
"Editing subscription template, no events provided": {
subscriptionTemplate: `{"instance_id": "jiraurl1", "name": "mockName", "id": "mockTemplateID1___________", "channel_id": "mockChannelID_____________", "filters": {"events": [], "projects": ["otherproject"], "issue_types": ["10001"]}}`,
subscriptionTemplate: `{"instance_id": "https://jiraurl1.com", "name": "mockName", "id": "mockTemplateID1___________", "channel_id": "mockChannelID_____________", "filters": {"events": [], "projects": ["otherproject"], "issue_types": ["10001"]}}`,
expectedStatusCode: http.StatusInternalServerError,
apiCalls: checkHasSubscriptionTemplates([]SubscriptionTemplate{},
withExistingChannelSubscriptionTemplates(
@@ -1148,7 +1148,7 @@ func TestEditSubscriptionTemplate(t *testing.T) {
}), t),
},
"Editing subscription template, no issue types provided": {
subscriptionTemplate: `{"instance_id": "jiraurl1", "name": "mockName", "id": "mockTemplateID1___________", "channel_id": "mockChannelID_____________", "filters": {"events": ["jira:issue_created"], "projects": ["otherproject"], "issue_types": []}}`,
subscriptionTemplate: `{"instance_id": "https://jiraurl1.com", "name": "mockName", "id": "mockTemplateID1___________", "channel_id": "mockChannelID_____________", "filters": {"events": ["jira:issue_created"], "projects": ["otherproject"], "issue_types": []}}`,
expectedStatusCode: http.StatusInternalServerError,
apiCalls: checkHasSubscriptionTemplates([]SubscriptionTemplate{},
withExistingChannelSubscriptionTemplates(
@@ -1160,7 +1160,7 @@ func TestEditSubscriptionTemplate(t *testing.T) {
}), t),
},
"Editing subscription template, GetProject mocked error. Existing subscription has a non-existent project.": {
subscriptionTemplate: fmt.Sprintf(`{"instance_id": "jiraurl1", "id": "mockTemplateID2___________", "name": "subscription name", "channel_id": "channelaaaaaaaaaabbbbbbbbb", "filters": {"events": ["jira:issue_created"], "projects": ["%s"], "issue_types": ["10001"]}}`, nonExistantProjectKey),
subscriptionTemplate: fmt.Sprintf(`{"instance_id": "https://jiraurl1.com", "id": "mockTemplateID2___________", "name": "subscription name", "channel_id": "channelaaaaaaaaaabbbbbbbbb", "filters": {"events": ["jira:issue_created"], "projects": ["%s"], "issue_types": ["10001"]}}`, nonExistantProjectKey),
expectedStatusCode: http.StatusInternalServerError,
apiCalls: checkHasSubscriptionTemplates([]SubscriptionTemplate{},
withExistingChannelSubscriptionTemplates(
@@ -1172,7 +1172,7 @@ func TestEditSubscriptionTemplate(t *testing.T) {
}), t),
},
"Editing subscription template, GetProject mocked error. Existing subscription has existing project.": {
subscriptionTemplate: fmt.Sprintf(`{"instance_id": "jiraurl1", "id": "mockTemplateID2___________", "name": "subscription name", "channel_id": "channelaaaaaaaaaabbbbbbbbb", "filters": {"events": ["jira:issue_created"], "projects": ["%s"], "issue_types": ["10001"]}}`, nonExistantProjectKey),
subscriptionTemplate: fmt.Sprintf(`{"instance_id": "https://jiraurl1.com", "id": "mockTemplateID2___________", "name": "subscription name", "channel_id": "channelaaaaaaaaaabbbbbbbbb", "filters": {"events": ["jira:issue_created"], "projects": ["%s"], "issue_types": ["10001"]}}`, nonExistantProjectKey),
expectedStatusCode: http.StatusInternalServerError,
apiCalls: checkHasSubscriptionTemplates([]SubscriptionTemplate{},
withExistingChannelSubscriptionTemplates(
@@ -1238,7 +1238,7 @@ func TestCreateSubscriptionTemplate(t *testing.T) {
skipAuthorize: true,
},
"Initial Subscription Template": {
subscriptionTemplate: `{"instance_id": "jiraurl1", "name": "some name", "channel_id": "mockChannelID_____________", "filters": {"events": ["jira:issue_created"], "projects": ["myproject"], "issue_types": ["10001"]}}`,
subscriptionTemplate: `{"instance_id": "https://jiraurl1.com", "name": "some name", "channel_id": "mockChannelID_____________", "filters": {"events": ["jira:issue_created"], "projects": ["myproject"], "issue_types": ["10001"]}}`,
expectedStatusCode: http.StatusOK,
apiCalls: checkHasSubscriptionTemplates([]SubscriptionTemplate{
{
@@ -1247,32 +1247,32 @@ func TestCreateSubscriptionTemplate(t *testing.T) {
}, nil, t),
},
"Initial Subscription Template, GetProject mocked error": {
subscriptionTemplate: fmt.Sprintf(`{"instance_id": "jiraurl1", "name": "some name", "channel_id": "mockChannelID_____________", "filters": {"events": ["jira:issue_created"], "projects": ["%s"], "issue_types": ["10001"]}}`, nonExistantProjectKey),
subscriptionTemplate: fmt.Sprintf(`{"instance_id": "https://jiraurl1.com", "name": "some name", "channel_id": "mockChannelID_____________", "filters": {"events": ["jira:issue_created"], "projects": ["%s"], "issue_types": ["10001"]}}`, nonExistantProjectKey),
expectedStatusCode: http.StatusInternalServerError,
apiCalls: hasSubscriptionTemplates([]SubscriptionTemplate{}, t),
},
"Initial Subscription Template, empty name provided": {
subscriptionTemplate: `{"instance_id": "jiraurl1", "name": "", "channel_id": "mockChannelID_____________", "filters": {"events": ["jira:issue_created"], "projects": ["myproject"], "issue_types": ["10001"]}}`,
subscriptionTemplate: `{"instance_id": "https://jiraurl1.com", "name": "", "channel_id": "mockChannelID_____________", "filters": {"events": ["jira:issue_created"], "projects": ["myproject"], "issue_types": ["10001"]}}`,
expectedStatusCode: http.StatusInternalServerError,
apiCalls: hasSubscriptionTemplates([]SubscriptionTemplate{}, t),
},
"Initial Subscription Template, long name provided": {
subscriptionTemplate: `{"instance_id": "jiraurl1", "name": "` + TestDataLongSubscriptionName + `", "channel_id": "mockChannelID_____________", "filters": {"events": ["jira:issue_created"], "projects": ["myproject"], "issue_types": ["10001"]}}`,
subscriptionTemplate: `{"instance_id": "https://jiraurl1.com", "name": "` + TestDataLongSubscriptionName + `", "channel_id": "mockChannelID_____________", "filters": {"events": ["jira:issue_created"], "projects": ["myproject"], "issue_types": ["10001"]}}`,
expectedStatusCode: http.StatusInternalServerError,
apiCalls: hasSubscriptionTemplates([]SubscriptionTemplate{}, t),
},
"Initial Subscription Template, no project provided": {
subscriptionTemplate: `{"instance_id": "jiraurl1", "name": "mockName", "channel_id": "mockChannelID_____________", "filters": {"events": ["jira:issue_created"], "projects": [], "issue_types": ["10001"]}}`,
subscriptionTemplate: `{"instance_id": "https://jiraurl1.com", "name": "mockName", "channel_id": "mockChannelID_____________", "filters": {"events": ["jira:issue_created"], "projects": [], "issue_types": ["10001"]}}`,
expectedStatusCode: http.StatusInternalServerError,
apiCalls: hasSubscriptionTemplates([]SubscriptionTemplate{}, t),
},
"Initial Subscription Template, no issue types provided": {
subscriptionTemplate: `{"instance_id": "jiraurl1", "name": "mockName", "channel_id": "mockChannelID_____________", "filters": {"events": ["jira:issue_created"], "projects": ["myproject"], "issue_types": []}}`,
subscriptionTemplate: `{"instance_id": "https://jiraurl1.com", "name": "mockName", "channel_id": "mockChannelID_____________", "filters": {"events": ["jira:issue_created"], "projects": ["myproject"], "issue_types": []}}`,
expectedStatusCode: http.StatusInternalServerError,
apiCalls: hasSubscriptionTemplates([]SubscriptionTemplate{}, t),
},
"Adding to existing templates in a different channel": {
subscriptionTemplate: `{"instance_id": "jiraurl1", "name": "some name", "channel_id": "mockChannelID_____________", "filters": {"events": ["jira:issue_created"], "projects": ["myproject"], "issue_types": ["10001"]}}`,
subscriptionTemplate: `{"instance_id": "https://jiraurl1.com", "name": "some name", "channel_id": "mockChannelID_____________", "filters": {"events": ["jira:issue_created"], "projects": ["myproject"], "issue_types": ["10001"]}}`,
expectedStatusCode: http.StatusOK,
apiCalls: checkHasSubscriptionTemplates([]SubscriptionTemplate{
{
@@ -1291,7 +1291,7 @@ func TestCreateSubscriptionTemplate(t *testing.T) {
}), t),
},
"Adding to existing templates in the same channel": {
subscriptionTemplate: `{"instance_id": "jiraurl1", "name": "subscription name", "channel_id": "mockChannelID_____________", "filters": {"events": ["jira:issue_created"], "projects": ["myproject"], "issue_types": ["10001"]}}`,
subscriptionTemplate: `{"instance_id": "https://jiraurl1.com", "name": "subscription name", "channel_id": "mockChannelID_____________", "filters": {"events": ["jira:issue_created"], "projects": ["myproject"], "issue_types": ["10001"]}}`,
expectedStatusCode: http.StatusOK,
apiCalls: checkHasSubscriptionTemplates([]SubscriptionTemplate{
{
@@ -1310,7 +1310,7 @@ func TestCreateSubscriptionTemplate(t *testing.T) {
}), t),
},
"Adding to existing templates with same name in the same channel": {
subscriptionTemplate: `{"instance_id": "jiraurl1", "name": "SubscriptionName", "channel_id": "mockChannelID_____________", "filters": {"events": ["jira:issue_created"], "projects": ["myproject"], "issue_types": ["10001"]}}`,
subscriptionTemplate: `{"instance_id": "https://jiraurl1.com", "name": "SubscriptionName", "channel_id": "mockChannelID_____________", "filters": {"events": ["jira:issue_created"], "projects": ["myproject"], "issue_types": ["10001"]}}`,
expectedStatusCode: http.StatusInternalServerError,
apiCalls: checkHasSubscriptionTemplates([]SubscriptionTemplate{
{
48 changes: 24 additions & 24 deletions server/subscribe_test.go
Original file line number Diff line number Diff line change
@@ -513,7 +513,7 @@ func TestGetChannelsSubscribed(t *testing.T) {
Projects: NewStringSet("TES"),
IssueTypes: NewStringSet("10001"),
},
InstanceID: "jiraurl1",
InstanceID: "https://jiraurl1.com",
},
},
},
@@ -554,7 +554,7 @@ func TestGetChannelsSubscribed(t *testing.T) {
Projects: NewStringSet(),
IssueTypes: NewStringSet("10001"),
},
InstanceID: "jiraurl1",
InstanceID: "https://jiraurl1.com",
},
},
},
@@ -580,7 +580,7 @@ func TestGetChannelsSubscribed(t *testing.T) {
Projects: NewStringSet("TES", "OTHER"),
IssueTypes: NewStringSet("10001"),
},
InstanceID: "jiraurl1",
InstanceID: "https://jiraurl1.com",
},
},
},
@@ -621,7 +621,7 @@ func TestGetChannelsSubscribed(t *testing.T) {
Projects: NewStringSet("TES"),
IssueTypes: NewStringSet(),
},
InstanceID: "jiraurl1",
InstanceID: "https://jiraurl1.com",
},
},
},
@@ -662,7 +662,7 @@ func TestGetChannelsSubscribed(t *testing.T) {
Projects: NewStringSet("TES"),
IssueTypes: NewStringSet("10001"),
},
InstanceID: "jiraurl1",
InstanceID: "https://jiraurl1.com",
},
},
},
@@ -713,7 +713,7 @@ func TestGetChannelsSubscribed(t *testing.T) {
Inclusion: "include_any",
}},
},
InstanceID: "jiraurl1",
InstanceID: "https://jiraurl1.com",
},
},
},
@@ -739,7 +739,7 @@ func TestGetChannelsSubscribed(t *testing.T) {
Projects: NewStringSet("TES"),
IssueTypes: NewStringSet("10001"),
},
InstanceID: "jiraurl1",
InstanceID: "https://jiraurl1.com",
},
},
},
@@ -765,7 +765,7 @@ func TestGetChannelsSubscribed(t *testing.T) {
Projects: NewStringSet("TES"),
IssueTypes: NewStringSet("10001"),
},
InstanceID: "jiraurl1",
InstanceID: "https://jiraurl1.com",
},
},
},
@@ -822,7 +822,7 @@ func TestGetChannelsSubscribed(t *testing.T) {
Projects: NewStringSet("TES"),
IssueTypes: NewStringSet("10001"),
},
InstanceID: "jiraurl1",
InstanceID: "https://jiraurl1.com",
},
},
},
@@ -848,7 +848,7 @@ func TestGetChannelsSubscribed(t *testing.T) {
Projects: NewStringSet("TES"),
IssueTypes: NewStringSet("10001"),
},
InstanceID: "jiraurl1",
InstanceID: "https://jiraurl1.com",
},
},
},
@@ -883,7 +883,7 @@ func TestGetChannelsSubscribed(t *testing.T) {
Projects: NewStringSet("TES"),
IssueTypes: NewStringSet("10001"),
},
InstanceID: "jiraurl1",
InstanceID: "https://jiraurl1.com",
},
{
ID: "8hduqxgiwiyi5fw3q4d6q56uho",
@@ -893,7 +893,7 @@ func TestGetChannelsSubscribed(t *testing.T) {
Projects: NewStringSet("TES"),
IssueTypes: NewStringSet("10001"),
},
InstanceID: "jiraurl1",
InstanceID: "https://jiraurl1.com",
},
},
},
@@ -928,7 +928,7 @@ func TestGetChannelsSubscribed(t *testing.T) {
Projects: NewStringSet("TES"),
IssueTypes: NewStringSet("10001"),
},
InstanceID: "jiraurl1",
InstanceID: "https://jiraurl1.com",
}},
},
"multiple subscriptions, neither acceptable": {
@@ -983,7 +983,7 @@ func TestGetChannelsSubscribed(t *testing.T) {
{Key: "status", Values: NewStringSet("10004"), Inclusion: FilterIncludeAny},
},
},
InstanceID: "jiraurl1",
InstanceID: "https://jiraurl1.com",
},
},
},
@@ -1033,7 +1033,7 @@ func TestGetChannelsSubscribed(t *testing.T) {
{Key: "customfield_10068", Values: NewStringSet("10033", "10034"), Inclusion: FilterIncludeAll},
},
},
InstanceID: "jiraurl1",
InstanceID: "https://jiraurl1.com",
},
},
},
@@ -1101,7 +1101,7 @@ func TestGetChannelsSubscribed(t *testing.T) {
{Key: "status", Values: NewStringSet("10005"), Inclusion: FilterExcludeAny},
},
},
InstanceID: "jiraurl1",
InstanceID: "https://jiraurl1.com",
},
},
},
@@ -1133,7 +1133,7 @@ func TestGetChannelsSubscribed(t *testing.T) {
{Key: "customfield_10060", Values: NewStringSet(), Inclusion: FilterEmpty},
},
},
InstanceID: "jiraurl1",
InstanceID: "https://jiraurl1.com",
},
},
},
@@ -1183,7 +1183,7 @@ func TestGetChannelsSubscribed(t *testing.T) {
{Key: "customfield_10068", Values: NewStringSet("10033"), Inclusion: FilterIncludeAny},
},
},
InstanceID: "jiraurl1",
InstanceID: "https://jiraurl1.com",
},
},
},
@@ -1233,7 +1233,7 @@ func TestGetChannelsSubscribed(t *testing.T) {
{Key: "customfield_10076", Values: NewStringSet("10039"), Inclusion: FilterIncludeAny},
},
},
InstanceID: "jiraurl1",
InstanceID: "https://jiraurl1.com",
},
},
},
@@ -1283,7 +1283,7 @@ func TestGetChannelsSubscribed(t *testing.T) {
{Key: "customfield_10078", Values: NewStringSet("some value"), Inclusion: FilterIncludeAny},
},
},
InstanceID: "jiraurl1",
InstanceID: "https://jiraurl1.com",
},
},
},
@@ -1333,7 +1333,7 @@ func TestGetChannelsSubscribed(t *testing.T) {
{Key: "customfield_10071", Values: NewStringSet("value1"), Inclusion: FilterIncludeAny},
},
},
InstanceID: "jiraurl1",
InstanceID: "https://jiraurl1.com",
},
},
},
@@ -1384,7 +1384,7 @@ func TestGetChannelsSubscribed(t *testing.T) {
{Key: "customfield_10071", Values: NewStringSet("value1", "value3"), Inclusion: FilterIncludeAny},
},
},
InstanceID: "jiraurl1",
InstanceID: "https://jiraurl1.com",
},
},
},
@@ -1434,7 +1434,7 @@ func TestGetChannelsSubscribed(t *testing.T) {
{Key: "fixVersions", Values: NewStringSet("10000"), Inclusion: FilterIncludeAny},
},
},
InstanceID: "jiraurl1",
InstanceID: "https://jiraurl1.com",
},
},
},
@@ -1466,7 +1466,7 @@ func TestGetChannelsSubscribed(t *testing.T) {
{Key: "Priority", Values: NewStringSet("1"), Inclusion: FilterIncludeAny},
},
},
InstanceID: "jiraurl1",
InstanceID: "https://jiraurl1.com",
},
},
},