package databag import ( "log" "testing" "net/http/httptest" "encoding/base64" "encoding/json" ) func TestAccount(t *testing.T) { // acquire new token for creating accounts auth := base64.StdEncoding.EncodeToString([]byte("admin:pass")) r := httptest.NewRequest("POST", "/admin/accounts", nil) r.Header.Add("Authorization","Basic " + auth) w := httptest.NewRecorder() AddNodeAccount(w, r); resp := w.Result(); dec := json.NewDecoder(resp.Body); var token string; dec.Decode(&token); if resp.StatusCode != 200 { t.Errorf("failed to create account") } // validate account token r = httptest.NewRequest("GET", "/account/token", nil) r.Header.Add("Authorization","Bearer " + token) w = httptest.NewRecorder() GetAccountToken(w, r); resp = w.Result(); if resp.StatusCode != 200 { t.Errorf("invalid token value") } dec = json.NewDecoder(resp.Body); var tokenType string; dec.Decode(&tokenType); if tokenType != "create" { t.Errorf("invalid token type") } log.Println("TestAccount: done"); }