aboutsummaryrefslogtreecommitdiffstats
path: root/bridge/gitlab
diff options
context:
space:
mode:
authorAmine Hilaly <hilalyamine@gmail.com>2019-07-23 19:16:52 +0200
committerAmine Hilaly <hilalyamine@gmail.com>2019-07-23 19:49:53 +0200
commit29fdd37ce69b48aa9fc3c1b829ff67818041068f (patch)
tree598301ce5183f5029d58ad40d7dd309dc5799c87 /bridge/gitlab
parent0c8f1c3a58c4707284cc6368af26715520a220c0 (diff)
downloadgit-bug-29fdd37ce69b48aa9fc3c1b829ff67818041068f.tar.gz
bridge/github: add getNewTitle tests
Diffstat (limited to 'bridge/gitlab')
-rw-r--r--bridge/gitlab/export_test.go1
-rw-r--r--bridge/gitlab/import.go12
-rw-r--r--bridge/gitlab/import_notes.go2
-rw-r--r--bridge/gitlab/import_notes_test.go56
-rw-r--r--bridge/gitlab/iterator.go1
5 files changed, 66 insertions, 6 deletions
diff --git a/bridge/gitlab/export_test.go b/bridge/gitlab/export_test.go
new file mode 100644
index 00000000..4d4b35af
--- /dev/null
+++ b/bridge/gitlab/export_test.go
@@ -0,0 +1 @@
+package gitlab
diff --git a/bridge/gitlab/import.go b/bridge/gitlab/import.go
index 20c586a7..8f4ceec9 100644
--- a/bridge/gitlab/import.go
+++ b/bridge/gitlab/import.go
@@ -138,11 +138,6 @@ func (gi *gitlabImporter) ensureNote(repo *cache.RepoCache, b *cache.BugCache, n
return err
}
- hash, errResolve := b.ResolveOperationWithMetadata(keyGitlabId, id)
- if errResolve != cache.ErrNoMatchingOp {
- return errResolve
- }
-
noteType, body := GetNoteType(note)
switch noteType {
case NOTE_CLOSED:
@@ -189,6 +184,10 @@ func (gi *gitlabImporter) ensureNote(repo *cache.RepoCache, b *cache.BugCache, n
}
case NOTE_COMMENT:
+ hash, errResolve := b.ResolveOperationWithMetadata(keyGitlabId, id)
+ if errResolve != cache.ErrNoMatchingOp {
+ return errResolve
+ }
cleanText, err := text.Cleanup(body)
if err != nil {
@@ -226,7 +225,7 @@ func (gi *gitlabImporter) ensureNote(repo *cache.RepoCache, b *cache.BugCache, n
_, err = b.EditCommentRaw(
author,
note.UpdatedAt.Unix(),
- hash,
+ git.Hash(comment.Id()),
cleanText,
nil,
)
@@ -327,6 +326,7 @@ func (gi *gitlabImporter) ensurePerson(repo *cache.RepoCache, id int) (*cache.Id
user.Username,
user.AvatarURL,
map[string]string{
+ // because Gitlab
keyGitlabId: strconv.Itoa(id),
keyGitlabLogin: user.Username,
},
diff --git a/bridge/gitlab/import_notes.go b/bridge/gitlab/import_notes.go
index 06c0a242..85da3158 100644
--- a/bridge/gitlab/import_notes.go
+++ b/bridge/gitlab/import_notes.go
@@ -30,6 +30,7 @@ const (
func GetNoteType(n *gitlab.Note) (NoteType, string) {
// when a note is a comment system is set to false
// when a note is a different event system is set to true
+ // because Gitlab
if !n.System {
return NOTE_COMMENT, n.Body
}
@@ -88,6 +89,7 @@ func GetNoteType(n *gitlab.Note) (NoteType, string) {
// getNewTitle parses body diff given by gitlab api and return it final form
// examples: "changed title from **fourth issue** to **fourth issue{+ changed+}**"
// "changed title from **fourth issue{- changed-}** to **fourth issue**"
+// because Gitlab
func getNewTitle(diff string) string {
newTitle := strings.Split(diff, "** to **")[1]
newTitle = strings.Replace(newTitle, "{+", "", -1)
diff --git a/bridge/gitlab/import_notes_test.go b/bridge/gitlab/import_notes_test.go
new file mode 100644
index 00000000..c7b5ab56
--- /dev/null
+++ b/bridge/gitlab/import_notes_test.go
@@ -0,0 +1,56 @@
+package gitlab
+
+import (
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestGetNewTitle(t *testing.T) {
+ type args struct {
+ diff string
+ }
+ type want struct {
+ title string
+ }
+ tests := []struct {
+ name string
+ args args
+ want want
+ }{
+ {
+ name: "addition diff",
+ args: args{
+ diff: "**first issue** to **first issue{+ edited+}**",
+ },
+ want: want{
+ title: "first issue edited",
+ },
+ },
+ {
+ name: "deletion diff",
+ args: args{
+ diff: "**first issue{- edited-}** to **first issue**",
+ },
+ want: want{
+ title: "first issue",
+ },
+ },
+ {
+ name: "mixed diff",
+ args: args{
+ diff: "**first {-issue-}** to **first {+bug+}**",
+ },
+ want: want{
+ title: "first bug",
+ },
+ },
+ }
+
+ for _, tt := range tests {
+ t.Run(tt.name, func(t *testing.T) {
+ title := getNewTitle(tt.args.diff)
+ assert.Equal(t, tt.want.title, title)
+ })
+ }
+}
diff --git a/bridge/gitlab/iterator.go b/bridge/gitlab/iterator.go
index 73f1614e..883fea9c 100644
--- a/bridge/gitlab/iterator.go
+++ b/bridge/gitlab/iterator.go
@@ -218,6 +218,7 @@ func (i *iterator) getNextLabelEvents() bool {
return true
}
+// because Gitlab
func (i *iterator) NextLabelEvent() bool {
if i.err != nil {
return false