コード例 #1
0
ファイル: json_test.go プロジェクト: angst/roscoe
func TestJsonBool(t *testing.T) {
	log.Print("Test JSON GetKey().Bool()")

	js, err := json.NewJsonStruct(jt)
	if err != nil {
		log.Print(err)
	}

	log.Print("Test JSON GetKey().Bool() == false")
	enabledF, err := js.GetKey("auth", "enabledFalse").Bool()
	if err != nil {
		t.Fatalf("json.GetKey.Bool(false) failed: %s", err)
	}
	if enabledF {
		t.Fatalf("Expected enabled == false, got true")
	}

	log.Print("Test JSON GetKey().Bool() == true")
	enabledT, err := js.GetKey("auth", "enabledTrue").Bool()
	if err != nil {
		t.Fatalf("json.GetKey.Bool(true) failed: %s", err)
	}
	if !enabledT {
		t.Fatalf("Expected enabled == true, got false")
	}
}
コード例 #2
0
ファイル: json_test.go プロジェクト: angst/roscoe
func TestJsonGetKey(t *testing.T) {
	log.Print("Test JSON GetKey()")

	js, err := json.NewJsonStruct(jt)
	if err != nil {
		log.Print(err)
	}

	auth := js.GetKey("")
	if auth != js {
		t.Fatalf("Expected '' key to return source pointer")
	}
	auth = js.GetKey("auth")
	if auth == js {
		t.Fatalf("Expected 'auth' key, not found")
	}
	authA := js.GetKey("auth").GetKey("tenantName")
	if authA == js {
		t.Fatalf("Expected 'auth'.'tenantName' key, not found")
	}
	authB := js.GetKey("auth", "tenantName")
	if authB == js {
		t.Fatalf("Expected 'auth'.'tenantName' key, not found")
	}
	if *authA != *authB {
		t.Fatalf("Expected chained and string list keys to match")
	}
}
コード例 #3
0
ファイル: flavor.go プロジェクト: angst/roscoe
// Compute v2 4.4.1: list flavors
func List(c *client.Client, f string) (body *[]interface{}, err error) {
	resp, err := c.Get("compute", "/flavors")
	if err != nil {
		return nil, err
	}

	//    var body FlavorResponse
	//    err = json.Unmarshal(resp.Body, &body)
	js, err := json.NewJsonStruct(resp.Body)
	if err != nil {
		return nil, err
	}
	b, err := js.GetKey("flavors").Array()
	return &b, nil
}
コード例 #4
0
ファイル: json_test.go プロジェクト: angst/roscoe
func TestJsonFloat64(t *testing.T) {
	log.Print("Test JSON GetKey().Float64()")

	js, err := json.NewJsonStruct(jt)
	if err != nil {
		log.Print(err)
	}

	f, err := js.GetKey("auth", "floater").Float64()
	if err != nil {
		t.Fatalf("json.GetKey.Float64() failed: %s", err)
	}
	if f != 1.23 {
		t.Fatalf("Expected 1.23 for float, got %f", f)
	}

}
コード例 #5
0
ファイル: json_test.go プロジェクト: angst/roscoe
func TestJsonString(t *testing.T) {
	log.Print("Test JSON GetKey().String()")

	js, err := json.NewJsonStruct(jt)
	if err != nil {
		log.Print(err)
	}

	tenant, err := js.GetKey("auth", "tenantName").String()
	if err != nil {
		t.Fatalf("json.GetKey failed: %s", err)
	}
	if tenant != "ZZPluralZAlpha" {
		t.Fatalf("Expected 'ZZPluralZAlpha' for tenantName, got %s", tenant)
	}

}
コード例 #6
0
ファイル: json_test.go プロジェクト: angst/roscoe
func TestJsonInt64(t *testing.T) {
	log.Print("Test JSON GetKey().Int64()")

	js, err := json.NewJsonStruct(jt)
	if err != nil {
		log.Print(err)
	}

	i, err := js.GetKey("auth", "theAnswer").Int64()
	if err != nil {
		t.Fatalf("json.GetKey.Int64() failed: %s", err)
	}
	if i != 42 {
		t.Fatalf("Expected 42 for int, got %d", i)
	}

}