Always set ?namespace in query if specified

Revise our code to only call Request.Namespace() if a namespace
*should* be present.  For root scoped resources, namespace should
be ignored.  For namespaced resources, it is an error to have
Namespace=="".
This commit is contained in:
Clayton Coleman
2015-02-15 23:43:45 -05:00
parent 9175082a1c
commit 3e2e4714a2
10 changed files with 100 additions and 63 deletions

View File

@@ -75,6 +75,10 @@ func TestHelperDelete(t *testing.T) {
return false
}
parts := splitPath(req.URL.Path)
if len(parts) < 3 {
t.Errorf("expected URL path to have 3 parts: %s", req.URL.Path)
return false
}
if parts[1] != "bar" {
t.Errorf("url doesn't contain namespace: %#v", req)
return false
@@ -94,7 +98,8 @@ func TestHelperDelete(t *testing.T) {
Err: test.HttpErr,
}
modifier := &Helper{
RESTClient: client,
RESTClient: client,
NamespaceScoped: true,
}
err := modifier.Delete("bar", "foo")
if (err != nil) != test.Err {
@@ -185,9 +190,10 @@ func TestHelperCreate(t *testing.T) {
client.Client = test.RespFunc
}
modifier := &Helper{
RESTClient: client,
Codec: testapi.Codec(),
Versioner: testapi.MetadataAccessor(),
RESTClient: client,
Codec: testapi.Codec(),
Versioner: testapi.MetadataAccessor(),
NamespaceScoped: true,
}
data := []byte{}
if test.Object != nil {
@@ -267,7 +273,8 @@ func TestHelperGet(t *testing.T) {
Err: test.HttpErr,
}
modifier := &Helper{
RESTClient: client,
RESTClient: client,
NamespaceScoped: true,
}
obj, err := modifier.Get("bar", "foo")
if (err != nil) != test.Err {
@@ -337,7 +344,8 @@ func TestHelperList(t *testing.T) {
Err: test.HttpErr,
}
modifier := &Helper{
RESTClient: client,
RESTClient: client,
NamespaceScoped: true,
}
obj, err := modifier.List("bar", labels.SelectorFromSet(labels.Set{"foo": "baz"}))
if (err != nil) != test.Err {
@@ -440,9 +448,10 @@ func TestHelperUpdate(t *testing.T) {
client.Client = test.RespFunc
}
modifier := &Helper{
RESTClient: client,
Codec: testapi.Codec(),
Versioner: testapi.MetadataAccessor(),
RESTClient: client,
Codec: testapi.Codec(),
Versioner: testapi.MetadataAccessor(),
NamespaceScoped: true,
}
data := []byte{}
if test.Object != nil {