atlas cloud token warn
This commit is contained in:
parent
950861460e
commit
dde40d54c6
|
@ -7,6 +7,7 @@ package vagrantcloud
|
|||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
"github.com/hashicorp/packer/common"
|
||||
|
@ -43,6 +44,7 @@ type PostProcessor struct {
|
|||
config Config
|
||||
client *VagrantCloudClient
|
||||
runner multistep.Runner
|
||||
warnAtlasToken bool
|
||||
}
|
||||
|
||||
func (p *PostProcessor) Configure(raws ...interface{}) error {
|
||||
|
@ -64,6 +66,17 @@ func (p *PostProcessor) Configure(raws ...interface{}) error {
|
|||
p.config.VagrantCloudUrl = VAGRANT_CLOUD_URL
|
||||
}
|
||||
|
||||
if p.config.AccessToken == "" {
|
||||
envToken := os.Getenv("VAGRANT_CLOUD_TOKEN")
|
||||
if envToken == "" {
|
||||
envToken = os.Getenv("ATLAS_TOKEN")
|
||||
if envToken != "" {
|
||||
p.warnAtlasToken = true
|
||||
}
|
||||
}
|
||||
p.config.AccessToken = envToken
|
||||
}
|
||||
|
||||
// Accumulate any errors
|
||||
errs := new(packer.MultiError)
|
||||
|
||||
|
@ -101,6 +114,10 @@ func (p *PostProcessor) PostProcess(ui packer.Ui, artifact packer.Artifact) (pac
|
|||
"Unknown files in artifact from vagrant post-processor: %s", artifact.Files())
|
||||
}
|
||||
|
||||
if p.warnAtlasToken {
|
||||
ui.Message("Warning: Using Vagrant Cloud token found in ATLAS_TOKEN. Please make sure it is correct, or set VAGRANT_CLOUD_TOKEN")
|
||||
}
|
||||
|
||||
// create the HTTP client
|
||||
p.client = VagrantCloudClient{}.New(p.config.VagrantCloudUrl, p.config.AccessToken)
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@ package vagrantcloud
|
|||
|
||||
import (
|
||||
"bytes"
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/hashicorp/packer/packer"
|
||||
|
@ -24,6 +25,48 @@ func testBadConfig() map[string]interface{} {
|
|||
}
|
||||
}
|
||||
|
||||
func TestPostProcessor_Configure_fromVagrantEnv(t *testing.T) {
|
||||
var p PostProcessor
|
||||
config := testGoodConfig()
|
||||
config["access_token"] = ""
|
||||
os.Setenv("VAGRANT_CLOUD_TOKEN", "bar")
|
||||
defer func() {
|
||||
os.Setenv("VAGRANT_CLOUD_TOKEN", "")
|
||||
}()
|
||||
|
||||
if err := p.Configure(config); err != nil {
|
||||
t.Fatalf("err: %s", err)
|
||||
}
|
||||
|
||||
if p.config.AccessToken != "bar" {
|
||||
t.Fatalf("Expected to get token from VAGRANT_CLOUD_TOKEN env var. Got '%s' instead",
|
||||
p.config.AccessToken)
|
||||
}
|
||||
}
|
||||
|
||||
func TestPostProcessor_Configure_fromAtlasEnv(t *testing.T) {
|
||||
var p PostProcessor
|
||||
config := testGoodConfig()
|
||||
config["access_token"] = ""
|
||||
os.Setenv("ATLAS_TOKEN", "foo")
|
||||
defer func() {
|
||||
os.Setenv("ATLAS_TOKEN", "")
|
||||
}()
|
||||
|
||||
if err := p.Configure(config); err != nil {
|
||||
t.Fatalf("err: %s", err)
|
||||
}
|
||||
|
||||
if p.config.AccessToken != "foo" {
|
||||
t.Fatalf("Expected to get token from ATLAS_TOKEN env var. Got '%s' instead",
|
||||
p.config.AccessToken)
|
||||
}
|
||||
|
||||
if !p.warnAtlasToken {
|
||||
t.Fatal("Expected warn flag to be set when getting token from atlas env var.")
|
||||
}
|
||||
}
|
||||
|
||||
func TestPostProcessor_Configure_Good(t *testing.T) {
|
||||
var p PostProcessor
|
||||
if err := p.Configure(testGoodConfig()); err != nil {
|
||||
|
|
Loading…
Reference in New Issue