github.com/jchengjr77/canaveral@v1.0.1-0.20200715160102-ea9245d1a2fb/nativestore/credentials_test.go (about)

     1  package nativestore
     2  
     3  import (
     4  	"os"
     5  	"testing"
     6  )
     7  
     8  // test configuration directory location
     9  func TestSetGetCreds(t *testing.T) {
    10  	os.Setenv("CredentialsTest", "true")
    11  	label := "test credentials"
    12  	url := "https://api.github.com"
    13  	SetCreds(label, url, "username", "password")
    14  	user, secret, err := FetchCreds(label, url)
    15  	if err == nil {
    16  		if user != "username" {
    17  			t.Errorf("Expecting username, got %s", user)
    18  		}
    19  		if secret != "password" {
    20  			t.Errorf("Expecting password, got %s", secret)
    21  		}
    22  	} else {
    23  		t.Errorf("Failed to fetch, got error: %s", err)
    24  	}
    25  	if delErr := DeleteCreds(label, url); delErr != nil {
    26  		t.Errorf("Delete failed on error: %s", delErr)
    27  	}
    28  	if reUsr, reSec, refetchErr := FetchCreds(label, url); refetchErr == nil {
    29  		t.Errorf("Delete failed silently, still found username %s and secret %s", reUsr, reSec)
    30  	}
    31  }