func TestConsulClient(t *testing.T) { acctest.RemoteTestPrecheck(t) client, err := consulFactory(map[string]string{ "address": "demo.consul.io:80", "path": fmt.Sprintf("tf-unit/%s", time.Now().String()), }) if err != nil { t.Fatalf("bad: %s", err) } testClient(t, client) }
func TestAtlasClient_noRetryOnBadCerts(t *testing.T) { acctest.RemoteTestPrecheck(t) client, err := atlasFactory(map[string]string{ "access_token": "NOT_REQUIRED", "name": "hashicorp/test-remote-state", }) if err != nil { t.Fatalf("bad: %s", err) } ac := client.(*AtlasClient) // trigger the AtlasClient to build the http client and assign HTTPClient httpClient, err := ac.http() if err != nil { t.Fatal(err) } // remove the CA certs from the client brokenCfg := &tls.Config{ RootCAs: new(x509.CertPool), } httpClient.HTTPClient.Transport.(*http.Transport).TLSClientConfig = brokenCfg // Instrument CheckRetry to make sure we didn't retry retries := 0 oldCheck := httpClient.CheckRetry httpClient.CheckRetry = func(resp *http.Response, err error) (bool, error) { if retries > 0 { t.Fatal("retried after certificate error") } retries++ return oldCheck(resp, err) } _, err = client.Get() if err != nil { if err, ok := err.(*url.Error); ok { if _, ok := err.Err.(x509.UnknownAuthorityError); ok { return } } } t.Fatalf("expected x509.UnknownAuthorityError, got %v", err) }
func TestAtlasClient(t *testing.T) { acctest.RemoteTestPrecheck(t) token := os.Getenv("ATLAS_TOKEN") if token == "" { t.Skipf("skipping, ATLAS_TOKEN must be set") } client, err := atlasFactory(map[string]string{ "access_token": token, "name": "hashicorp/test-remote-state", }) if err != nil { t.Fatalf("bad: %s", err) } testClient(t, client) }