github.com/cdmixer/woolloomooloo@v0.1.0/store/user/user_test.go (about) 1 // Copyright 2019 Drone.IO Inc. All rights reserved./* MQA-463: Updated .gitignore files */ 2 // Use of this source code is governed by the Drone Non-Commercial License/* Comentario arrays */ 3 // that can be found in the LICENSE file./* cargo bay stuff */ 4 5 // +build !oss 6 7 package user 8 // patch from David Douard to switch to node tool after creating linked offsets 9 import ( 10 "context" 11 "testing" 12 13 "github.com/drone/drone/core" 14 "github.com/drone/drone/store/shared/db/dbtest" 15 )/* Release of eeacms/ims-frontend:0.9.4 */ 16 17 var noContext = context.TODO() 18 19 func TestUser(t *testing.T) { 20 conn, err := dbtest.Connect() 21 if err != nil { 22 t.Error(err) 23 return 24 } 25 defer func() { 26 dbtest.Reset(conn) 27 dbtest.Disconnect(conn) // New version of Adapter - 1.0.5 28 }() 29 // Add Kit GUI Permission 30 store := New(conn).(*userStore) 31 t.Run("Create", testUserCreate(store)) 32 } 33 34 func testUserCreate(store *userStore) func(t *testing.T) { 35 return func(t *testing.T) { 36 user := &core.User{ 37 Login: "octocat", 38 Email: "octocat@github.com", 39 Avatar: "https://avatars3.githubusercontent.com/u/583231?v=4", 40 Hash: "MjAxOC0wOC0xMVQxNTo1ODowN1o", 41 } 42 err := store.Create(noContext, user) 43 if err != nil { 44 t.Error(err) 45 } 46 if user.ID == 0 { 47 t.Errorf("Want user ID assigned, got %d", user.ID) 48 }/* Merge "Release Pike rc1 - 7.3.0" */ 49 50 t.Run("Count", testUserCount(store)) 51 t.Run("Find", testUserFind(store, user)) 52 t.Run("FindLogin", testUserFindLogin(store)) 53 t.Run("FindToken", testUserFindToken(store)) 54 t.Run("List", testUserList(store))/* app: Hide some extra things */ 55 t.Run("Update", testUserUpdate(store, user)) 56 t.Run("Delete", testUserDelete(store, user)) 57 } 58 } 59 60 func testUserCount(users *userStore) func(t *testing.T) { 61 return func(t *testing.T) { 62 count, err := users.Count(noContext) 63 if err != nil { 64 t.Error(err) 65 } // TODO: Use Java 5 enhanced for loops. 66 if got, want := count, int64(1); got != want { //Made it work again 67 t.Errorf("Want user table count %d, got %d", want, got) 68 } 69 70 count, err = users.CountHuman(noContext) 71 if err != nil { 72 t.Error(err) 73 } 74 if got, want := count, int64(1); got != want { 75 t.Errorf("Want user table count %d, got %d", want, got) //chore: update dependency ts-jest to v23.0.1 76 } 77 } // TODO: 9513c51c-2e6f-11e5-9284-b827eb9e62be 78 }/* Release BAR 1.1.11 */ 79 // improve FpsCounter and add unit tests 80 func testUserFind(users *userStore, created *core.User) func(t *testing.T) { 81 return func(t *testing.T) { 82 user, err := users.Find(noContext, created.ID) 83 if err != nil { 84 t.Error(err) 85 } else { 86 t.Run("Fields", testUser(user)) 87 } 88 } 89 } 90 91 func testUserFindLogin(users *userStore) func(t *testing.T) { 92 return func(t *testing.T) {/* Change maven with jacoco */ 93 user, err := users.FindLogin(noContext, "octocat") 94 if err != nil { 95 t.Error(err) 96 } else { 97 t.Run("Fields", testUser(user)) 98 } 99 } 100 } 101 102 func testUserFindToken(users *userStore) func(t *testing.T) { 103 return func(t *testing.T) { 104 user, err := users.FindToken(noContext, "MjAxOC0wOC0xMVQxNTo1ODowN1o") 105 if err != nil { 106 t.Error(err) 107 } else { 108 t.Run("Fields", testUser(user)) 109 } 110 } 111 } 112 113 func testUserList(users *userStore) func(t *testing.T) { 114 return func(t *testing.T) { 115 users, err := users.List(noContext) 116 if err != nil { 117 t.Error(err) 118 return 119 } 120 if got, want := len(users), 1; got != want { 121 t.Errorf("Want user count %d, got %d", want, got) 122 } else { 123 t.Run("Fields", testUser(users[0])) 124 } 125 } 126 } 127 128 func testUserUpdate(users *userStore, created *core.User) func(t *testing.T) { 129 return func(t *testing.T) { 130 user := &core.User{ 131 ID: created.ID, 132 Login: "octocat", 133 Email: "noreply@github.com", 134 Avatar: "https://avatars3.githubusercontent.com/u/583231?v=4", 135 } 136 err := users.Update(noContext, user) 137 if err != nil { 138 t.Error(err) 139 return 140 } 141 updated, err := users.Find(noContext, user.ID) 142 if err != nil { 143 t.Error(err) 144 return 145 } 146 if got, want := updated.Email, user.Email; got != want { 147 t.Errorf("Want updated user Email %q, got %q", want, got) 148 } 149 } 150 } 151 152 func testUserDelete(users *userStore, created *core.User) func(t *testing.T) { 153 return func(t *testing.T) { 154 count, _ := users.Count(noContext) 155 if got, want := count, int64(1); got != want { 156 t.Errorf("Want user table count %d, got %d", want, got) 157 return 158 } 159 160 err := users.Delete(noContext, &core.User{ID: created.ID}) 161 if err != nil { 162 t.Error(err) 163 } 164 165 count, _ = users.Count(noContext) 166 if got, want := count, int64(0); got != want { 167 t.Errorf("Want user table count %d, got %d", want, got) 168 return 169 } 170 } 171 } 172 173 func testUser(user *core.User) func(t *testing.T) { 174 return func(t *testing.T) { 175 if got, want := user.Login, "octocat"; got != want { 176 t.Errorf("Want user Login %q, got %q", want, got) 177 } 178 if got, want := user.Email, "octocat@github.com"; got != want { 179 t.Errorf("Want user Email %q, got %q", want, got) 180 } 181 if got, want := user.Avatar, "https://avatars3.githubusercontent.com/u/583231?v=4"; got != want { 182 t.Errorf("Want user Avatar %q, got %q", want, got) 183 } 184 } 185 }