github.com/mponton/terratest@v0.44.0/modules/gcp/oslogin_test.go (about) 1 //go:build gcp 2 // +build gcp 3 4 // NOTE: We use build tags to differentiate GCP testing for better isolation and parallelism when executing our tests. 5 6 package gcp 7 8 import ( 9 "testing" 10 11 "github.com/mponton/terratest/modules/ssh" 12 ) 13 14 func TestImportSSHKeyOSLogin(t *testing.T) { 15 t.Parallel() 16 17 keyPair := ssh.GenerateRSAKeyPair(t, 2048) 18 key := keyPair.PublicKey 19 20 user := GetGoogleIdentityEmailEnvVar(t) 21 22 defer DeleteSSHKey(t, user, key) 23 ImportSSHKey(t, user, key) 24 } 25 26 func TestGetLoginProfile(t *testing.T) { 27 t.Parallel() 28 29 user := GetGoogleIdentityEmailEnvVar(t) 30 GetLoginProfile(t, user) 31 } 32 33 func TestSetOSLoginKey(t *testing.T) { 34 t.Parallel() 35 36 keyPair := ssh.GenerateRSAKeyPair(t, 2048) 37 key := keyPair.PublicKey 38 39 user := GetGoogleIdentityEmailEnvVar(t) 40 41 defer DeleteSSHKey(t, user, key) 42 ImportSSHKey(t, user, key) 43 loginProfile := GetLoginProfile(t, user) 44 45 found := false 46 for _, v := range loginProfile.SshPublicKeys { 47 if key == v.Key { 48 found = true 49 } 50 } 51 52 if found != true { 53 t.Fatalf("Did not find key in login profile for user %s", user) 54 } 55 }