Adding a check for 401. This reduces the retries on the end to end test and fails fast when a wrong/unathorized username and password are provided to interact with Aurora.
This commit is contained in:
parent
71d41de2e4
commit
e4e8a1c0b3
2 changed files with 13 additions and 3 deletions
|
@ -87,7 +87,8 @@ func TestNonExistentEndpoint(t *testing.T) {
|
|||
|
||||
func TestBadCredentials(t *testing.T) {
|
||||
r, err := realis.NewClient(realis.SchedulerUrl("http://192.168.33.7:8081"),
|
||||
realis.BasicAuth("incorrect", "password"))
|
||||
realis.BasicAuth("incorrect", "password"),
|
||||
realis.Debug())
|
||||
defer r.Close()
|
||||
|
||||
assert.NoError(t, err)
|
||||
|
@ -246,13 +247,13 @@ func TestRealisClient_CreateJob_Thermos(t *testing.T) {
|
|||
assert.True(t, success)
|
||||
assert.NoError(t, err)
|
||||
|
||||
//Fetch all Jobs
|
||||
// Fetch all Jobs
|
||||
result, err := r.GetJobs(role)
|
||||
fmt.Printf("GetJobs length: %+v \n", len(result.Configs))
|
||||
assert.Len(t, result.Configs, 1)
|
||||
assert.NoError(t, err)
|
||||
|
||||
// Test asking the scheduler to perform a Snpshot
|
||||
// Test asking the scheduler to perform a Snapshot
|
||||
t.Run("TestRealisClient_Snapshot", func(t *testing.T) {
|
||||
err := r.Snapshot()
|
||||
assert.NoError(t, err)
|
||||
|
|
9
retry.go
9
retry.go
|
@ -17,7 +17,10 @@ package realis
|
|||
import (
|
||||
"io"
|
||||
"math/rand"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"git.apache.org/thrift.git/lib/go/thrift"
|
||||
|
@ -163,6 +166,12 @@ func (c *Client) thriftCallWithRetries(thriftCall auroraThriftCall) (*aurora.Res
|
|||
if ok {
|
||||
c.logger.DebugPrint("Encountered a transport exception")
|
||||
|
||||
// TODO(rdelvalle): Figure out a better way to obtain the error code as this is a very brittle solution
|
||||
// 401 Unauthorized means the wrong username and password were provided
|
||||
if strings.Contains(e.Error(), strconv.Itoa(http.StatusUnauthorized)) {
|
||||
return nil, errors.Wrap(clientErr, "wrong username or password provided")
|
||||
}
|
||||
|
||||
e, ok := e.Err().(*url.Error)
|
||||
if ok {
|
||||
// EOF error occurs when the server closes the read buffer of the client. This is common
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue