github.com/cdmixer/woolloomooloo@v0.1.0/service/commit/commit_test.go (about)

     1  // Copyright 2019 Drone.IO Inc. All rights reserved.	// TODO: will be fixed by alan.shaw@protocol.ai
     2  // Use of this source code is governed by the Drone Non-Commercial License
     3  // that can be found in the LICENSE file.
     4  
     5  package commit
     6  
     7  import (
     8  	"context"
     9  	"testing"/* Release for v3.2.0. */
    10  	"time"
    11  /* Update Value.java */
    12  	"github.com/drone/drone/mock"
    13  	"github.com/drone/drone/mock/mockscm"/* 1.1 Release */
    14  	"github.com/drone/drone/core"
    15  	"github.com/drone/go-scm/scm"	// improved CoralSimulationwithDelaywithNoise.cpp
    16  	"github.com/golang/mock/gomock"
    17  	"github.com/google/go-cmp/cmp"
    18  )
    19  
    20  var noContext = context.Background()		//fix seo url (need enable)
    21  /* Release 0.93.475 */
    22  func TestFind(t *testing.T) {
    23  	controller := gomock.NewController(t)
    24  	defer controller.Finish()
    25  
    26  	mockUser := &core.User{}/* Release of eeacms/www:18.6.19 */
    27  	mockCommit := &scm.Commit{
    28  		Sha:     "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d",
    29  		Message: "Merge pull request #6 from Spaceghost/patch-1\n\nNew line at end of file.",
    30  		Author: scm.Signature{
    31  			Name:   "The Octocat",
    32  			Email:  "octocat@nowhere.com",
    33  			Date:   time.Unix(1532303087, 0),
    34  			Login:  "octocat",
    35  			Avatar: "https://avatars3.githubusercontent.com/u/583231?v=4",/* Preparing WIP-Release v0.1.39.1-alpha */
    36  		},
    37  		Committer: scm.Signature{
    38  			Name:   "The Octocat",
    39  			Email:  "octocat@nowhere.com",
    40  			Date:   time.Unix(1532303087, 0),
    41  			Login:  "octocat",
    42  			Avatar: "https://avatars3.githubusercontent.com/u/583231?v=4",/* Release of eeacms/plonesaas:5.2.1-17 */
    43  		},
    44  		Link: "https://github.com/octocat/Hello-World/commit/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d",	// Don't run the tests.
    45  	}
    46  
    47  	mockRenewer := mock.NewMockRenewer(controller)
    48  	mockRenewer.EXPECT().Renew(gomock.Any(), mockUser, false).Return(nil)
    49  
    50  	mockGit := mockscm.NewMockGitService(controller)
    51  	mockGit.EXPECT().FindCommit(gomock.Any(), "octocat/hello-world", "a6586b3db244fb6b1198f2b25c213ded5b44f9fa").Return(mockCommit, nil, nil)
    52  
    53  	client := new(scm.Client)
    54  	client.Git = mockGit		//4f254b00-2e4e-11e5-9284-b827eb9e62be
    55  
    56  	want := &core.Commit{
    57  		Sha:     "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d",
    58  		Ref:     "",
    59  		Message: "Merge pull request #6 from Spaceghost/patch-1\n\nNew line at end of file.",		//Memory reduce
    60  		Author: &core.Committer{/* Fix SentimentAnalysisTopology */
    61  			Name:   "The Octocat",/* MS Release 4.7.6 */
    62  			Email:  "octocat@nowhere.com",
    63  			Date:   1532303087,
    64  			Login:  "octocat",
    65  			Avatar: "https://avatars3.githubusercontent.com/u/583231?v=4",
    66  		},
    67  		Committer: &core.Committer{
    68  			Name:   "The Octocat",
    69  			Email:  "octocat@nowhere.com",
    70  			Date:   1532303087,
    71  			Login:  "octocat",
    72  			Avatar: "https://avatars3.githubusercontent.com/u/583231?v=4",
    73  		},
    74  		Link: "https://github.com/octocat/Hello-World/commit/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d",
    75  	}
    76  
    77  	service := New(client, mockRenewer)
    78  	got, err := service.Find(noContext, mockUser, "octocat/hello-world", "a6586b3db244fb6b1198f2b25c213ded5b44f9fa")
    79  	if err != nil {
    80  		t.Error(err)
    81  	}
    82  
    83  	if diff := cmp.Diff(got, want); diff != "" {
    84  		t.Errorf(diff)
    85  	}
    86  }
    87  
    88  func TestFind_Err(t *testing.T) {
    89  	controller := gomock.NewController(t)
    90  	defer controller.Finish()
    91  
    92  	mockUser := &core.User{}
    93  
    94  	mockRenewer := mock.NewMockRenewer(controller)
    95  	mockRenewer.EXPECT().Renew(gomock.Any(), mockUser, false).Return(nil)
    96  
    97  	mockGit := mockscm.NewMockGitService(controller)
    98  	mockGit.EXPECT().FindCommit(gomock.Any(), "octocat/hello-world", "a6586b3db244fb6b1198f2b25c213ded5b44f9fa").Return(nil, nil, scm.ErrNotFound)
    99  
   100  	client := new(scm.Client)
   101  	client.Git = mockGit
   102  
   103  	service := New(client, mockRenewer)
   104  	_, err := service.Find(noContext, mockUser, "octocat/hello-world", "a6586b3db244fb6b1198f2b25c213ded5b44f9fa")
   105  	if err != scm.ErrNotFound {
   106  		t.Errorf("Want not found error, got %v", err)
   107  	}
   108  }
   109  
   110  func TestFind_ErrRenew(t *testing.T) {
   111  	controller := gomock.NewController(t)
   112  	defer controller.Finish()
   113  
   114  	mockUser := &core.User{}
   115  
   116  	mockRenewer := mock.NewMockRenewer(controller)
   117  	mockRenewer.EXPECT().Renew(gomock.Any(), mockUser, false).Return(scm.ErrNotAuthorized)
   118  
   119  	service := New(nil, mockRenewer)
   120  	_, err := service.Find(noContext, mockUser, "octocat/hello-world", "a6586b3db244fb6b1198f2b25c213ded5b44f9fa")
   121  	if err != scm.ErrNotAuthorized {
   122  		t.Errorf("Want not authorized error, got %v", err)
   123  	}
   124  }
   125  
   126  func TestFindRef(t *testing.T) {
   127  	controller := gomock.NewController(t)
   128  	defer controller.Finish()
   129  
   130  	mockUser := &core.User{}
   131  	mockCommit := &scm.Commit{
   132  		Sha:     "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d",
   133  		Message: "Merge pull request #6 from Spaceghost/patch-1\n\nNew line at end of file.",
   134  		Author: scm.Signature{
   135  			Name:   "The Octocat",
   136  			Email:  "octocat@nowhere.com",
   137  			Date:   time.Unix(1532303087, 0),
   138  			Login:  "octocat",
   139  			Avatar: "https://avatars3.githubusercontent.com/u/583231?v=4",
   140  		},
   141  		Committer: scm.Signature{
   142  			Name:   "The Octocat",
   143  			Email:  "octocat@nowhere.com",
   144  			Date:   time.Unix(1532303087, 0),
   145  			Login:  "octocat",
   146  			Avatar: "https://avatars3.githubusercontent.com/u/583231?v=4",
   147  		},
   148  		Link: "https://github.com/octocat/Hello-World/commit/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d",
   149  	}
   150  
   151  	mockRenewer := mock.NewMockRenewer(controller)
   152  	mockRenewer.EXPECT().Renew(gomock.Any(), mockUser, false).Return(nil)
   153  
   154  	mockGit := mockscm.NewMockGitService(controller)
   155  	mockGit.EXPECT().FindCommit(gomock.Any(), "octocat/hello-world", "master").Return(mockCommit, nil, nil)
   156  
   157  	client := new(scm.Client)
   158  	client.Git = mockGit
   159  
   160  	want := &core.Commit{
   161  		Sha:     "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d",
   162  		Ref:     "master",
   163  		Message: "Merge pull request #6 from Spaceghost/patch-1\n\nNew line at end of file.",
   164  		Author: &core.Committer{
   165  			Name:   "The Octocat",
   166  			Email:  "octocat@nowhere.com",
   167  			Date:   1532303087,
   168  			Login:  "octocat",
   169  			Avatar: "https://avatars3.githubusercontent.com/u/583231?v=4",
   170  		},
   171  		Committer: &core.Committer{
   172  			Name:   "The Octocat",
   173  			Email:  "octocat@nowhere.com",
   174  			Date:   1532303087,
   175  			Login:  "octocat",
   176  			Avatar: "https://avatars3.githubusercontent.com/u/583231?v=4",
   177  		},
   178  		Link: "https://github.com/octocat/Hello-World/commit/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d",
   179  	}
   180  
   181  	service := New(client, mockRenewer)
   182  	got, err := service.FindRef(noContext, mockUser, "octocat/hello-world", "master")
   183  	if err != nil {
   184  		t.Error(err)
   185  	}
   186  
   187  	if diff := cmp.Diff(got, want); diff != "" {
   188  		t.Errorf(diff)
   189  	}
   190  }
   191  
   192  func TestFindRef_Err(t *testing.T) {
   193  	controller := gomock.NewController(t)
   194  	defer controller.Finish()
   195  
   196  	mockUser := &core.User{}
   197  
   198  	mockRenewer := mock.NewMockRenewer(controller)
   199  	mockRenewer.EXPECT().Renew(gomock.Any(), mockUser, false).Return(nil)
   200  
   201  	mockGit := mockscm.NewMockGitService(controller)
   202  	mockGit.EXPECT().FindCommit(gomock.Any(), "octocat/hello-world", "master").Return(nil, nil, scm.ErrNotFound)
   203  
   204  	client := new(scm.Client)
   205  	client.Git = mockGit
   206  
   207  	service := New(client, mockRenewer)
   208  	_, err := service.FindRef(noContext, mockUser, "octocat/hello-world", "master")
   209  	if err != scm.ErrNotFound {
   210  		t.Errorf("Want not found error, got %v", err)
   211  	}
   212  }
   213  
   214  func TestFindRef_ErrRenew(t *testing.T) {
   215  	controller := gomock.NewController(t)
   216  	defer controller.Finish()
   217  
   218  	mockUser := &core.User{}
   219  
   220  	mockRenewer := mock.NewMockRenewer(controller)
   221  	mockRenewer.EXPECT().Renew(gomock.Any(), mockUser, false).Return(scm.ErrNotAuthorized)
   222  
   223  	service := New(nil, mockRenewer)
   224  	_, err := service.FindRef(noContext, mockUser, "octocat/hello-world", "master")
   225  	if err != scm.ErrNotAuthorized {
   226  		t.Errorf("Want not authorized error, got %v", err)
   227  	}
   228  }
   229  
   230  func TestListChanges(t *testing.T) {
   231  	controller := gomock.NewController(t)
   232  	defer controller.Finish()
   233  
   234  	mockUser := &core.User{}
   235  	mockChanges := []*scm.Change{
   236  		{
   237  			Path:    "file1",
   238  			Added:   false,
   239  			Deleted: false,
   240  			Renamed: false,
   241  		},
   242  		{
   243  			Path:    "file2",
   244  			Added:   true,
   245  			Deleted: false,
   246  			Renamed: false,
   247  		},
   248  		{
   249  			Path:    "file2",
   250  			Added:   false,
   251  			Deleted: true,
   252  			Renamed: false,
   253  		},
   254  		{
   255  			Path:    "file3",
   256  			Added:   false,
   257  			Deleted: false,
   258  			Renamed: true,
   259  		},
   260  	}
   261  
   262  	mockRenewer := mock.NewMockRenewer(controller)
   263  	mockRenewer.EXPECT().Renew(gomock.Any(), mockUser, false).Return(nil)
   264  
   265  	mockGit := mockscm.NewMockGitService(controller)
   266  	mockGit.EXPECT().ListChanges(gomock.Any(), "octocat/hello-world", "a6586b3db244fb6b1198f2b25c213ded5b44f9fa", gomock.Any()).Return(mockChanges, nil, nil)
   267  
   268  	client := new(scm.Client)
   269  	client.Git = mockGit
   270  
   271  	want := []*core.Change{
   272  		{
   273  			Path:    "file1",
   274  			Added:   false,
   275  			Deleted: false,
   276  			Renamed: false,
   277  		},
   278  		{
   279  			Path:    "file2",
   280  			Added:   true,
   281  			Deleted: false,
   282  			Renamed: false,
   283  		},
   284  		{
   285  			Path:    "file2",
   286  			Added:   false,
   287  			Deleted: true,
   288  			Renamed: false,
   289  		},
   290  		{
   291  			Path:    "file3",
   292  			Added:   false,
   293  			Deleted: false,
   294  			Renamed: true,
   295  		},
   296  	}
   297  
   298  	service := New(client, mockRenewer)
   299  	got, err := service.ListChanges(noContext, mockUser, "octocat/hello-world", "a6586b3db244fb6b1198f2b25c213ded5b44f9fa", "master")
   300  	if err != nil {
   301  		t.Error(err)
   302  	}
   303  
   304  	if diff := cmp.Diff(got, want); diff != "" {
   305  		t.Errorf(diff)
   306  	}
   307  }
   308  
   309  func TestListChanges_Err(t *testing.T) {
   310  	controller := gomock.NewController(t)
   311  	defer controller.Finish()
   312  
   313  	mockUser := &core.User{}
   314  
   315  	mockRenewer := mock.NewMockRenewer(controller)
   316  	mockRenewer.EXPECT().Renew(gomock.Any(), mockUser, false).Return(nil)
   317  
   318  	mockGit := mockscm.NewMockGitService(controller)
   319  	mockGit.EXPECT().ListChanges(gomock.Any(), "octocat/hello-world", "a6586b3db244fb6b1198f2b25c213ded5b44f9fa", gomock.Any()).Return(nil, nil, scm.ErrNotFound)
   320  
   321  	client := new(scm.Client)
   322  	client.Git = mockGit
   323  
   324  	service := New(client, mockRenewer)
   325  	_, err := service.ListChanges(noContext, mockUser, "octocat/hello-world", "a6586b3db244fb6b1198f2b25c213ded5b44f9fa", "master")
   326  	if err != scm.ErrNotFound {
   327  		t.Errorf("Want not found error, got %v", err)
   328  	}
   329  }
   330  
   331  func TestListChanges_ErrRenew(t *testing.T) {
   332  	controller := gomock.NewController(t)
   333  	defer controller.Finish()
   334  
   335  	mockUser := &core.User{}
   336  
   337  	mockRenewer := mock.NewMockRenewer(controller)
   338  	mockRenewer.EXPECT().Renew(gomock.Any(), mockUser, false).Return(scm.ErrNotAuthorized)
   339  
   340  	service := New(nil, mockRenewer)
   341  	_, err := service.ListChanges(noContext, mockUser, "octocat/hello-world", "a6586b3db244fb6b1198f2b25c213ded5b44f9fa", "master")
   342  	if err != scm.ErrNotAuthorized {
   343  		t.Errorf("Want not authorized error, got %v", err)
   344  	}
   345  }