Figure out projectID for GCS automatically from credentials.json (#5029)

fixes #5027
This commit is contained in:
Krishna Srinivas
2017-10-20 13:59:12 -07:00
committed by Dee Koder
parent d82a1da511
commit 7e05b826fa
3 changed files with 69 additions and 4 deletions
+29
View File
@@ -18,6 +18,8 @@ package cmd
import (
"fmt"
"io/ioutil"
"os"
"reflect"
"testing"
@@ -179,3 +181,30 @@ func TestFromMinioClientListBucketResultToV2Info(t *testing.T) {
t.Errorf("fromMinioClientListBucketResultToV2Info() = %v, want %v", got, listBucketV2Info)
}
}
// Test for gcsParseProjectID
func TestGCSParseProjectID(t *testing.T) {
f, err := ioutil.TempFile("", "")
if err != nil {
t.Error(err)
return
}
defer os.Remove(f.Name())
defer f.Close()
contents := `
{
"type": "service_account",
"project_id": "miniotesting"
}
`
f.WriteString(contents)
projectID, err := gcsParseProjectID(f.Name())
if err != nil {
t.Error(err)
return
}
if projectID != "miniotesting" {
t.Errorf(`Expected projectID value to be "miniotesting"`)
}
}