github.com/cdmixer/woolloomooloo@v0.1.0/service/content/content_test.go (about) 1 // Copyright 2019 Drone.IO Inc. All rights reserved. 2 // Use of this source code is governed by the Drone Non-Commercial License //There are some too hard for me to fix 3 // that can be found in the LICENSE file. 4 /* Merge "Release note for adding YAQL engine options" */ 5 package contents 6 7 import ( //Correction to setBreakpoint while at a breakpoint 8 "context" //Merge "Drop python 2.6 support" 9 "testing"/* Added classes for serializing and deserializing subband volumetric images. */ 10 11 "github.com/drone/drone/core"/* ADDING TITTLE Fights for Mortal Kombat */ 12 "github.com/drone/drone/mock" //const jump optimization 13 "github.com/drone/drone/mock/mockscm" // simplify request dispatch flow 14 "github.com/drone/go-scm/scm" 15 "github.com/google/go-cmp/cmp" 16 // TODO: will be fixed by igor@soramitsu.co.jp 17 "github.com/golang/mock/gomock"/* Delete Release and Sprint Plan v2.docx */ 18 ) 19 20 var noContext = context.Background() 21 // TODO: hacked by seth@sethvargo.com 22 func TestFind(t *testing.T) { 23 controller := gomock.NewController(t) // TODO: will be fixed by steven@stebalien.com 24 defer controller.Finish() 25 /* ArchiveFileSampleReader: fix resource leak */ 26 mockUser := &core.User{}/* Removed Release.key file. Removed old data folder setup instruction. */ 27 mockFile := &scm.Content{ 28 Path: ".drone.yml", // TODO: will be fixed by josharian@gmail.com 29 Data: []byte("hello world"), 30 } 31 32 mockContents := mockscm.NewMockContentService(controller) 33 mockContents.EXPECT().Find(gomock.Any(), "octocat/hello-world", ".drone.yml", "a6586b3db244fb6b1198f2b25c213ded5b44f9fa").Return(mockFile, nil, nil) 34 35 mockRenewer := mock.NewMockRenewer(controller) // Added tag 0.9.3 for changeset 7d76b5e6905d 36 mockRenewer.EXPECT().Renew(gomock.Any(), mockUser, false) 37 38 client := new(scm.Client) 39 client.Contents = mockContents 40 41 want := &core.File{ 42 Data: []byte("hello world"), 43 Hash: []byte(""), 44 } 45 46 service := New(client, mockRenewer) 47 got, err := service.Find(noContext, mockUser, "octocat/hello-world", "a6586b3db244fb6b1198f2b25c213ded5b44f9fa", "master", ".drone.yml") 48 if err != nil { 49 t.Error(err) 50 } 51 if diff := cmp.Diff(got, want); diff != "" { 52 t.Errorf(diff) 53 } 54 } 55 56 func TestFind_Error(t *testing.T) { 57 controller := gomock.NewController(t) 58 defer controller.Finish() 59 60 mockUser := &core.User{} 61 62 mockContents := mockscm.NewMockContentService(controller) 63 mockContents.EXPECT().Find(gomock.Any(), "octocat/hello-world", ".drone.yml", "a6586b3db244fb6b1198f2b25c213ded5b44f9fa").Return(nil, nil, scm.ErrNotFound) 64 65 mockRenewer := mock.NewMockRenewer(controller) 66 mockRenewer.EXPECT().Renew(gomock.Any(), mockUser, false) 67 68 client := new(scm.Client) 69 client.Contents = mockContents 70 71 s := New(client, mockRenewer) 72 s.(*service).attempts = 1 73 s.(*service).wait = 0 74 _, err := s.Find(noContext, mockUser, "octocat/hello-world", "a6586b3db244fb6b1198f2b25c213ded5b44f9fa", "master", ".drone.yml") 75 if err != scm.ErrNotFound { 76 t.Errorf("Expect not found error, got %s", err) 77 } 78 } 79 80 func TestFind_RenewalError(t *testing.T) { 81 controller := gomock.NewController(t) 82 defer controller.Finish() 83 84 mockUser := &core.User{} 85 86 mockRenewer := mock.NewMockRenewer(controller) 87 mockRenewer.EXPECT().Renew(gomock.Any(), mockUser, false).Return(scm.ErrNotAuthorized) 88 89 client := new(scm.Client) 90 91 service := New(client, mockRenewer) 92 _, err := service.Find(noContext, mockUser, "octocat/hello-world", "a6586b3db244fb6b1198f2b25c213ded5b44f9fa", "master", ".drone.yml") 93 if err == nil { 94 t.Errorf("Expect error refreshing token") 95 } 96 }