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  }