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  }