github.com/drone/runner-go@v1.12.0/secret/static_test.go (about) 1 // Copyright 2019 Drone.IO Inc. All rights reserved. 2 // Use of this source code is governed by the Polyform License 3 // that can be found in the LICENSE file. 4 5 package secret 6 7 import ( 8 "context" 9 "testing" 10 11 "github.com/drone/drone-go/drone" 12 ) 13 14 var noContext = context.Background() 15 16 func TestStatic(t *testing.T) { 17 secrets := []*drone.Secret{ 18 {Name: "docker_username"}, 19 {Name: "docker_password"}, 20 } 21 args := &Request{ 22 Name: "docker_password", 23 Build: &drone.Build{Event: drone.EventPush}, 24 } 25 service := Static(secrets) 26 secret, err := service.Find(noContext, args) 27 if err != nil { 28 t.Error(err) 29 return 30 } 31 if secret != secrets[1] { 32 t.Errorf("expect docker_password") 33 } 34 } 35 36 func TestStaticVars(t *testing.T) { 37 secrets := map[string]string{ 38 "docker_username": "octocat", 39 "docker_password": "correct-horse-battery-staple", 40 } 41 args := &Request{ 42 Name: "docker_password", 43 Build: &drone.Build{Event: drone.EventPush}, 44 } 45 service := StaticVars(secrets) 46 secret, err := service.Find(noContext, args) 47 if err != nil { 48 t.Error(err) 49 return 50 } 51 if secret.Data != secrets["docker_password"] { 52 t.Errorf("expect docker_password") 53 } 54 } 55 56 func TestStaticNotFound(t *testing.T) { 57 secrets := []*drone.Secret{ 58 {Name: "docker_username"}, 59 {Name: "docker_password"}, 60 } 61 args := &Request{ 62 Name: "slack_token", 63 Build: &drone.Build{Event: drone.EventPush}, 64 } 65 service := Static(secrets) 66 secret, err := service.Find(noContext, args) 67 if err != nil { 68 t.Error(err) 69 return 70 } 71 if secret != nil { 72 t.Errorf("Expect secret not found") 73 } 74 } 75 76 func TestStaticPullRequestDisabled(t *testing.T) { 77 secrets := []*drone.Secret{ 78 {Name: "docker_username"}, 79 {Name: "docker_password", PullRequest: false}, 80 } 81 args := &Request{ 82 Name: "docker_password", 83 Build: &drone.Build{Event: drone.EventPullRequest}, 84 } 85 service := Static(secrets) 86 secret, err := service.Find(noContext, args) 87 if err != nil { 88 t.Error(err) 89 return 90 } 91 if secret != nil { 92 t.Errorf("Expect secret not found") 93 } 94 } 95 96 func TestStaticPullRequestEnabled(t *testing.T) { 97 secrets := []*drone.Secret{ 98 {Name: "docker_username"}, 99 {Name: "docker_password", PullRequest: true}, 100 } 101 args := &Request{ 102 Name: "docker_password", 103 Build: &drone.Build{Event: drone.EventPullRequest}, 104 } 105 service := Static(secrets) 106 secret, err := service.Find(noContext, args) 107 if err != nil { 108 t.Error(err) 109 return 110 } 111 if err != nil { 112 t.Error(err) 113 return 114 } 115 if secret != secrets[1] { 116 t.Errorf("expect docker_username") 117 } 118 }