From 411f6d1062ee1c2ebc82128d5c4e3cb4b780506d Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Mon, 9 Nov 2020 17:59:02 +0100 Subject: [PATCH 1/3] Add helper for optional bool --- gitea/helper.go | 17 +++++++++++++++++ gitea/release_test.go | 9 ++++----- gitea/repo_branch_test.go | 8 +++----- gitea/user_test.go | 3 +-- 4 files changed, 25 insertions(+), 12 deletions(-) create mode 100644 gitea/helper.go diff --git a/gitea/helper.go b/gitea/helper.go new file mode 100644 index 0000000..733d568 --- /dev/null +++ b/gitea/helper.go @@ -0,0 +1,17 @@ +// Copyright 2020 The Gitea Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package gitea + +// OptionalTrue return reference of true for a optional bool +func OptionalTrue() *bool { + v := true + return &v +} + +// OptionalFalse return reference of false for a optional bool +func OptionalFalse() *bool { + v := false + return &v +} diff --git a/gitea/release_test.go b/gitea/release_test.go index 487c568..d8750c1 100644 --- a/gitea/release_test.go +++ b/gitea/release_test.go @@ -57,17 +57,16 @@ func TestRelease(t *testing.T) { assert.EqualValues(t, r, r2) // EditRelease - bFalse := false r2, _, err = c.EditRelease(repo.Owner.UserName, repo.Name, r.ID, EditReleaseOption{ Title: "Release Awesome", Note: "", - IsDraft: &bFalse, - IsPrerelease: &bFalse, + IsDraft: OptionalFalse(), + IsPrerelease: OptionalFalse(), }) assert.NoError(t, err) assert.EqualValues(t, r.Target, r2.Target) - assert.EqualValues(t, bFalse, r2.IsDraft) - assert.EqualValues(t, bFalse, r2.IsPrerelease) + assert.EqualValues(t, false, r2.IsDraft) + assert.EqualValues(t, false, r2.IsPrerelease) assert.EqualValues(t, r.Note, r2.Note) // DeleteRelease diff --git a/gitea/repo_branch_test.go b/gitea/repo_branch_test.go index 1515536..8838313 100644 --- a/gitea/repo_branch_test.go +++ b/gitea/repo_branch_test.go @@ -107,17 +107,15 @@ func TestRepoBranchProtection(t *testing.T) { assert.NoError(t, err) assert.EqualValues(t, bpl[0], bp) - optTrue := true - optFalse := false one := int64(1) // EditBranchProtection bp, _, err = c.EditBranchProtection(repo.Owner.UserName, repo.Name, bpl[0].BranchName, EditBranchProtectionOption{ - EnablePush: &optFalse, - EnablePushWhitelist: &optFalse, + EnablePush: OptionalFalse(), + EnablePushWhitelist: OptionalFalse(), PushWhitelistUsernames: nil, RequiredApprovals: &one, - EnableApprovalsWhitelist: &optTrue, + EnableApprovalsWhitelist: OptionalTrue(), ApprovalsWhitelistUsernames: []string{"test01"}, }) assert.NoError(t, err) diff --git a/gitea/user_test.go b/gitea/user_test.go index 18c189e..e0bc41f 100644 --- a/gitea/user_test.go +++ b/gitea/user_test.go @@ -172,12 +172,11 @@ func TestUserEmail(t *testing.T) { } func createTestUser(t *testing.T, username string, client *Client) *User { - bFalse := false user, _, _ := client.GetUserInfo(username) if user.ID != 0 { return user } - user, _, err := client.AdminCreateUser(CreateUserOption{Username: username, Password: username + "!1234", Email: username + "@gitea.io", MustChangePassword: &bFalse, SendNotify: bFalse}) + user, _, err := client.AdminCreateUser(CreateUserOption{Username: username, Password: username + "!1234", Email: username + "@gitea.io", MustChangePassword: OptionalFalse(), SendNotify: false}) assert.NoError(t, err) return user } -- 2.40.1 From 46c80b53edb820e301661bf26c939d085c57aae0 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Mon, 9 Nov 2020 18:08:17 +0100 Subject: [PATCH 2/3] Add helper for optional string & int64 --- gitea/helper.go | 10 ++++++++++ gitea/issue_test.go | 5 ++--- gitea/repo_branch_test.go | 4 +--- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/gitea/helper.go b/gitea/helper.go index 733d568..d059ad2 100644 --- a/gitea/helper.go +++ b/gitea/helper.go @@ -15,3 +15,13 @@ func OptionalFalse() *bool { v := false return &v } + +// OptionalString convert a string to a string reference +func OptionalString(v string) *string { + return &v +} + +// OptionalInt64 convert a int64 to a int64 reference +func OptionalInt64(v int64) *int64 { + return &v +} diff --git a/gitea/issue_test.go b/gitea/issue_test.go index 296e847..547eef8 100644 --- a/gitea/issue_test.go +++ b/gitea/issue_test.go @@ -54,16 +54,15 @@ func editIssues(t *testing.T, c *Client) { issue, _, err := c.GetIssue(il[0].Poster.UserName, il[0].Repository.Name, il[0].Index) assert.NoError(t, err) - body := "123 test and go" state := StateClosed issueNew, _, err := c.EditIssue(issue.Poster.UserName, issue.Repository.Name, issue.Index, EditIssueOption{ Title: "Edited", - Body: &body, + Body: OptionalString("123 test and go"), State: &state, }) assert.NoError(t, err) assert.EqualValues(t, issue.ID, issueNew.ID) - assert.EqualValues(t, body, issueNew.Body) + assert.EqualValues(t, "123 test and go", issueNew.Body) assert.EqualValues(t, "Edited", issueNew.Title) } diff --git a/gitea/repo_branch_test.go b/gitea/repo_branch_test.go index 8838313..62ea70a 100644 --- a/gitea/repo_branch_test.go +++ b/gitea/repo_branch_test.go @@ -107,14 +107,12 @@ func TestRepoBranchProtection(t *testing.T) { assert.NoError(t, err) assert.EqualValues(t, bpl[0], bp) - one := int64(1) - // EditBranchProtection bp, _, err = c.EditBranchProtection(repo.Owner.UserName, repo.Name, bpl[0].BranchName, EditBranchProtectionOption{ EnablePush: OptionalFalse(), EnablePushWhitelist: OptionalFalse(), PushWhitelistUsernames: nil, - RequiredApprovals: &one, + RequiredApprovals: OptionalInt64(1), EnableApprovalsWhitelist: OptionalTrue(), ApprovalsWhitelistUsernames: []string{"test01"}, }) -- 2.40.1 From 7c47bdb50b36354715951b95178fbe911880dc43 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Thu, 12 Nov 2020 22:13:40 +0100 Subject: [PATCH 3/3] use OptionalBool instead --- gitea/helper.go | 11 ++--------- gitea/release_test.go | 4 ++-- gitea/repo_branch_test.go | 6 +++--- gitea/user_test.go | 2 +- 4 files changed, 8 insertions(+), 15 deletions(-) diff --git a/gitea/helper.go b/gitea/helper.go index d059ad2..ff8038b 100644 --- a/gitea/helper.go +++ b/gitea/helper.go @@ -4,15 +4,8 @@ package gitea -// OptionalTrue return reference of true for a optional bool -func OptionalTrue() *bool { - v := true - return &v -} - -// OptionalFalse return reference of false for a optional bool -func OptionalFalse() *bool { - v := false +// OptionalBool convert a bool to a bool reference +func OptionalBool(v bool) *bool { return &v } diff --git a/gitea/release_test.go b/gitea/release_test.go index d8750c1..844d59b 100644 --- a/gitea/release_test.go +++ b/gitea/release_test.go @@ -60,8 +60,8 @@ func TestRelease(t *testing.T) { r2, _, err = c.EditRelease(repo.Owner.UserName, repo.Name, r.ID, EditReleaseOption{ Title: "Release Awesome", Note: "", - IsDraft: OptionalFalse(), - IsPrerelease: OptionalFalse(), + IsDraft: OptionalBool(false), + IsPrerelease: OptionalBool(false), }) assert.NoError(t, err) assert.EqualValues(t, r.Target, r2.Target) diff --git a/gitea/repo_branch_test.go b/gitea/repo_branch_test.go index 62ea70a..2918513 100644 --- a/gitea/repo_branch_test.go +++ b/gitea/repo_branch_test.go @@ -109,11 +109,11 @@ func TestRepoBranchProtection(t *testing.T) { // EditBranchProtection bp, _, err = c.EditBranchProtection(repo.Owner.UserName, repo.Name, bpl[0].BranchName, EditBranchProtectionOption{ - EnablePush: OptionalFalse(), - EnablePushWhitelist: OptionalFalse(), + EnablePush: OptionalBool(false), + EnablePushWhitelist: OptionalBool(false), PushWhitelistUsernames: nil, RequiredApprovals: OptionalInt64(1), - EnableApprovalsWhitelist: OptionalTrue(), + EnableApprovalsWhitelist: OptionalBool(true), ApprovalsWhitelistUsernames: []string{"test01"}, }) assert.NoError(t, err) diff --git a/gitea/user_test.go b/gitea/user_test.go index e0bc41f..58c71de 100644 --- a/gitea/user_test.go +++ b/gitea/user_test.go @@ -176,7 +176,7 @@ func createTestUser(t *testing.T, username string, client *Client) *User { if user.ID != 0 { return user } - user, _, err := client.AdminCreateUser(CreateUserOption{Username: username, Password: username + "!1234", Email: username + "@gitea.io", MustChangePassword: OptionalFalse(), SendNotify: false}) + user, _, err := client.AdminCreateUser(CreateUserOption{Username: username, Password: username + "!1234", Email: username + "@gitea.io", MustChangePassword: OptionalBool(false), SendNotify: false}) assert.NoError(t, err) return user } -- 2.40.1