Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
ab35fff6
Commit
ab35fff6
authored
Dec 05, 2015
by
k8s-merge-robot
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #18234 from krousey/clienttest
Auto commit by PR queue bot
parents
c1906774
e2583e29
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
92 additions
and
152 deletions
+92
-152
round_trippers_test.go
pkg/client/transport/round_trippers_test.go
+13
-5
helper_test.go
pkg/client/unversioned/helper_test.go
+79
-0
restclient_test.go
pkg/client/unversioned/restclient_test.go
+0
-147
No files found.
pkg/client/transport/round_trippers_test.go
View file @
ab35fff6
...
@@ -48,17 +48,25 @@ func TestBearerAuthRoundTripper(t *testing.T) {
...
@@ -48,17 +48,25 @@ func TestBearerAuthRoundTripper(t *testing.T) {
}
}
func
TestBasicAuthRoundTripper
(
t
*
testing
.
T
)
{
func
TestBasicAuthRoundTripper
(
t
*
testing
.
T
)
{
for
n
,
tc
:=
range
map
[
string
]
struct
{
user
string
pass
string
}{
"basic"
:
{
user
:
"user"
,
pass
:
"pass"
},
"no pass"
:
{
user
:
"user"
},
}
{
rt
:=
&
testRoundTripper
{}
rt
:=
&
testRoundTripper
{}
req
:=
&
http
.
Request
{}
req
:=
&
http
.
Request
{}
newBasicAuthRoundTripper
(
"user"
,
"pass"
,
rt
)
.
RoundTrip
(
req
)
newBasicAuthRoundTripper
(
tc
.
user
,
tc
.
pass
,
rt
)
.
RoundTrip
(
req
)
if
rt
.
Request
==
nil
{
if
rt
.
Request
==
nil
{
t
.
Fatalf
(
"unexpected nil request: %v"
,
rt
)
t
.
Fatalf
(
"%s: unexpected nil request: %v"
,
n
,
rt
)
}
}
if
rt
.
Request
==
req
{
if
rt
.
Request
==
req
{
t
.
Fatalf
(
"round tripper should have copied request object: %#v"
,
rt
.
Request
)
t
.
Fatalf
(
"%s: round tripper should have copied request object: %#v"
,
n
,
rt
.
Request
)
}
if
user
,
pass
,
found
:=
rt
.
Request
.
BasicAuth
();
!
found
||
user
!=
tc
.
user
||
pass
!=
tc
.
pass
{
t
.
Errorf
(
"%s: unexpected authorization header: %#v"
,
n
,
rt
.
Request
)
}
}
if
user
,
pass
,
found
:=
rt
.
Request
.
BasicAuth
();
!
found
||
user
!=
"user"
||
pass
!=
"pass"
{
t
.
Errorf
(
"unexpected authorization header: %#v"
,
rt
.
Request
)
}
}
}
}
...
...
pkg/client/unversioned/helper_test.go
View file @
ab35fff6
...
@@ -26,6 +26,7 @@ import (
...
@@ -26,6 +26,7 @@ import (
"k8s.io/kubernetes/pkg/api/testapi"
"k8s.io/kubernetes/pkg/api/testapi"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/runtime"
)
)
func
TestIsConfigTransportTLS
(
t
*
testing
.
T
)
{
func
TestIsConfigTransportTLS
(
t
*
testing
.
T
)
{
...
@@ -191,3 +192,81 @@ func TestHelperGetServerAPIVersions(t *testing.T) {
...
@@ -191,3 +192,81 @@ func TestHelperGetServerAPIVersions(t *testing.T) {
t
.
Errorf
(
"expected %v, got %v"
,
e
,
a
)
t
.
Errorf
(
"expected %v, got %v"
,
e
,
a
)
}
}
}
}
func
TestSetsCodec
(
t
*
testing
.
T
)
{
testCases
:=
map
[
string
]
struct
{
Err
bool
Prefix
string
Codec
runtime
.
Codec
}{
testapi
.
Default
.
Version
()
:
{
false
,
"/api/"
+
testapi
.
Default
.
Version
()
+
"/"
,
testapi
.
Default
.
Codec
()},
"invalidVersion"
:
{
true
,
""
,
nil
},
}
for
version
,
expected
:=
range
testCases
{
client
,
err
:=
New
(
&
Config
{
Host
:
"127.0.0.1"
,
GroupVersion
:
&
unversioned
.
GroupVersion
{
Version
:
version
}})
switch
{
case
err
==
nil
&&
expected
.
Err
:
t
.
Errorf
(
"expected error but was nil"
)
continue
case
err
!=
nil
&&
!
expected
.
Err
:
t
.
Errorf
(
"unexpected error %v"
,
err
)
continue
case
err
!=
nil
:
continue
}
if
e
,
a
:=
expected
.
Prefix
,
client
.
RESTClient
.
baseURL
.
Path
;
e
!=
a
{
t
.
Errorf
(
"expected %#v, got %#v"
,
e
,
a
)
}
if
e
,
a
:=
expected
.
Codec
,
client
.
RESTClient
.
Codec
;
e
!=
a
{
t
.
Errorf
(
"expected %#v, got %#v"
,
e
,
a
)
}
}
}
func
TestRESTClientRequires
(
t
*
testing
.
T
)
{
if
_
,
err
:=
RESTClientFor
(
&
Config
{
Host
:
"127.0.0.1"
,
Codec
:
testapi
.
Default
.
Codec
()});
err
==
nil
{
t
.
Errorf
(
"unexpected non-error"
)
}
if
_
,
err
:=
RESTClientFor
(
&
Config
{
Host
:
"127.0.0.1"
,
GroupVersion
:
testapi
.
Default
.
GroupVersion
()});
err
==
nil
{
t
.
Errorf
(
"unexpected non-error"
)
}
if
_
,
err
:=
RESTClientFor
(
&
Config
{
Host
:
"127.0.0.1"
,
GroupVersion
:
testapi
.
Default
.
GroupVersion
(),
Codec
:
testapi
.
Default
.
Codec
()});
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
func
TestValidatesHostParameter
(
t
*
testing
.
T
)
{
testCases
:=
[]
struct
{
Host
string
Prefix
string
URL
string
Err
bool
}{
{
"127.0.0.1"
,
""
,
"http://127.0.0.1/"
+
testapi
.
Default
.
Version
(),
false
},
{
"127.0.0.1:8080"
,
""
,
"http://127.0.0.1:8080/"
+
testapi
.
Default
.
Version
(),
false
},
{
"foo.bar.com"
,
""
,
"http://foo.bar.com/"
+
testapi
.
Default
.
Version
(),
false
},
{
"http://host/prefix"
,
""
,
"http://host/prefix/"
+
testapi
.
Default
.
Version
(),
false
},
{
"http://host"
,
""
,
"http://host/"
+
testapi
.
Default
.
Version
(),
false
},
{
"http://host"
,
"/"
,
"http://host/"
+
testapi
.
Default
.
Version
(),
false
},
{
"http://host"
,
"/other"
,
"http://host/other/"
+
testapi
.
Default
.
Version
(),
false
},
{
"host/server"
,
""
,
""
,
true
},
}
for
i
,
testCase
:=
range
testCases
{
u
,
err
:=
DefaultServerURL
(
testCase
.
Host
,
testCase
.
Prefix
,
*
testapi
.
Default
.
GroupVersion
(),
false
)
switch
{
case
err
==
nil
&&
testCase
.
Err
:
t
.
Errorf
(
"expected error but was nil"
)
continue
case
err
!=
nil
&&
!
testCase
.
Err
:
t
.
Errorf
(
"unexpected error %v"
,
err
)
continue
case
err
!=
nil
:
continue
}
if
e
,
a
:=
testCase
.
URL
,
u
.
String
();
e
!=
a
{
t
.
Errorf
(
"%d: expected host %s, got %s"
,
i
,
e
,
a
)
continue
}
}
}
pkg/client/unversioned/restclient_test.go
View file @
ab35fff6
...
@@ -24,156 +24,9 @@ import (
...
@@ -24,156 +24,9 @@ import (
"k8s.io/kubernetes/pkg/api/testapi"
"k8s.io/kubernetes/pkg/api/testapi"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/util"
"k8s.io/kubernetes/pkg/util"
)
)
func
TestSetsCodec
(
t
*
testing
.
T
)
{
testCases
:=
map
[
string
]
struct
{
Err
bool
Prefix
string
Codec
runtime
.
Codec
}{
testapi
.
Default
.
Version
()
:
{
false
,
"/api/"
+
testapi
.
Default
.
Version
()
+
"/"
,
testapi
.
Default
.
Codec
()},
"invalidVersion"
:
{
true
,
""
,
nil
},
}
for
version
,
expected
:=
range
testCases
{
client
,
err
:=
New
(
&
Config
{
Host
:
"127.0.0.1"
,
GroupVersion
:
&
unversioned
.
GroupVersion
{
Version
:
version
}})
switch
{
case
err
==
nil
&&
expected
.
Err
:
t
.
Errorf
(
"expected error but was nil"
)
continue
case
err
!=
nil
&&
!
expected
.
Err
:
t
.
Errorf
(
"unexpected error %v"
,
err
)
continue
case
err
!=
nil
:
continue
}
if
e
,
a
:=
expected
.
Prefix
,
client
.
RESTClient
.
baseURL
.
Path
;
e
!=
a
{
t
.
Errorf
(
"expected %#v, got %#v"
,
e
,
a
)
}
if
e
,
a
:=
expected
.
Codec
,
client
.
RESTClient
.
Codec
;
e
!=
a
{
t
.
Errorf
(
"expected %#v, got %#v"
,
e
,
a
)
}
}
}
func
TestRESTClientRequires
(
t
*
testing
.
T
)
{
if
_
,
err
:=
RESTClientFor
(
&
Config
{
Host
:
"127.0.0.1"
,
Codec
:
testapi
.
Default
.
Codec
()});
err
==
nil
{
t
.
Errorf
(
"unexpected non-error"
)
}
if
_
,
err
:=
RESTClientFor
(
&
Config
{
Host
:
"127.0.0.1"
,
GroupVersion
:
testapi
.
Default
.
GroupVersion
()});
err
==
nil
{
t
.
Errorf
(
"unexpected non-error"
)
}
if
_
,
err
:=
RESTClientFor
(
&
Config
{
Host
:
"127.0.0.1"
,
GroupVersion
:
testapi
.
Default
.
GroupVersion
(),
Codec
:
testapi
.
Default
.
Codec
()});
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
func
TestValidatesHostParameter
(
t
*
testing
.
T
)
{
testCases
:=
[]
struct
{
Host
string
Prefix
string
URL
string
Err
bool
}{
{
"127.0.0.1"
,
""
,
"http://127.0.0.1/"
+
testapi
.
Default
.
Version
()
+
"/"
,
false
},
{
"127.0.0.1:8080"
,
""
,
"http://127.0.0.1:8080/"
+
testapi
.
Default
.
Version
()
+
"/"
,
false
},
{
"foo.bar.com"
,
""
,
"http://foo.bar.com/"
+
testapi
.
Default
.
Version
()
+
"/"
,
false
},
{
"http://host/prefix"
,
""
,
"http://host/prefix/"
+
testapi
.
Default
.
Version
()
+
"/"
,
false
},
{
"http://host"
,
""
,
"http://host/"
+
testapi
.
Default
.
Version
()
+
"/"
,
false
},
{
"http://host"
,
"/"
,
"http://host/"
+
testapi
.
Default
.
Version
()
+
"/"
,
false
},
{
"http://host"
,
"/other"
,
"http://host/other/"
+
testapi
.
Default
.
Version
()
+
"/"
,
false
},
{
"host/server"
,
""
,
""
,
true
},
}
for
i
,
testCase
:=
range
testCases
{
c
,
err
:=
RESTClientFor
(
&
Config
{
Host
:
testCase
.
Host
,
Prefix
:
testCase
.
Prefix
,
GroupVersion
:
testapi
.
Default
.
GroupVersion
(),
Codec
:
testapi
.
Default
.
Codec
()})
switch
{
case
err
==
nil
&&
testCase
.
Err
:
t
.
Errorf
(
"expected error but was nil"
)
continue
case
err
!=
nil
&&
!
testCase
.
Err
:
t
.
Errorf
(
"unexpected error %v"
,
err
)
continue
case
err
!=
nil
:
continue
}
if
e
,
a
:=
testCase
.
URL
,
c
.
baseURL
.
String
();
e
!=
a
{
t
.
Errorf
(
"%d: expected host %s, got %s"
,
i
,
e
,
a
)
continue
}
}
}
func
TestDoRequestBearer
(
t
*
testing
.
T
)
{
status
:=
&
unversioned
.
Status
{
Status
:
unversioned
.
StatusFailure
}
expectedBody
,
_
:=
testapi
.
Default
.
Codec
()
.
Encode
(
status
)
fakeHandler
:=
util
.
FakeHandler
{
StatusCode
:
400
,
ResponseBody
:
string
(
expectedBody
),
T
:
t
,
}
testServer
:=
httptest
.
NewServer
(
&
fakeHandler
)
defer
testServer
.
Close
()
request
,
_
:=
http
.
NewRequest
(
"GET"
,
testServer
.
URL
,
nil
)
c
,
err
:=
RESTClientFor
(
&
Config
{
Host
:
testServer
.
URL
,
GroupVersion
:
testapi
.
Default
.
GroupVersion
(),
Codec
:
testapi
.
Default
.
Codec
(),
BearerToken
:
"test"
,
})
if
err
!=
nil
{
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
}
err
=
c
.
Get
()
.
Do
()
.
Error
()
if
err
==
nil
{
t
.
Fatalf
(
"unexpected non-error: %v"
,
err
)
}
if
fakeHandler
.
RequestReceived
.
Header
.
Get
(
"Authorization"
)
!=
"Bearer test"
{
t
.
Errorf
(
"Request is missing authorization header: %#v"
,
*
request
)
}
}
func
TestDoRequestWithoutPassword
(
t
*
testing
.
T
)
{
status
:=
&
unversioned
.
Status
{
Status
:
unversioned
.
StatusFailure
}
expectedBody
,
_
:=
testapi
.
Default
.
Codec
()
.
Encode
(
status
)
fakeHandler
:=
util
.
FakeHandler
{
StatusCode
:
400
,
ResponseBody
:
string
(
expectedBody
),
T
:
t
,
}
testServer
:=
httptest
.
NewServer
(
&
fakeHandler
)
defer
testServer
.
Close
()
c
,
err
:=
RESTClientFor
(
&
Config
{
Host
:
testServer
.
URL
,
GroupVersion
:
testapi
.
Default
.
GroupVersion
(),
Codec
:
testapi
.
Default
.
Codec
(),
Username
:
"test"
,
})
if
err
!=
nil
{
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
}
body
,
err
:=
c
.
Get
()
.
Prefix
(
"test"
)
.
Do
()
.
Raw
()
if
err
==
nil
{
t
.
Fatalf
(
"Unexpected non-error"
)
}
if
fakeHandler
.
RequestReceived
.
Header
[
"Authorization"
]
==
nil
{
t
.
Errorf
(
"Request is missing authorization header: %#v"
,
fakeHandler
.
RequestReceived
)
}
se
,
ok
:=
err
.
(
APIStatus
)
if
!
ok
{
t
.
Fatalf
(
"Unexpected kind of error: %#v"
,
err
)
}
if
!
reflect
.
DeepEqual
(
se
.
Status
(),
*
status
)
{
t
.
Errorf
(
"Unexpected status: %#v %#v"
,
se
.
Status
(),
status
)
}
if
body
!=
nil
{
t
.
Errorf
(
"Expected nil body, but saw: '%s'"
,
string
(
body
))
}
fakeHandler
.
ValidateRequest
(
t
,
"/"
+
testapi
.
Default
.
Version
()
+
"/test"
,
"GET"
,
nil
)
}
func
TestDoRequestSuccess
(
t
*
testing
.
T
)
{
func
TestDoRequestSuccess
(
t
*
testing
.
T
)
{
status
:=
&
unversioned
.
Status
{
Status
:
unversioned
.
StatusSuccess
}
status
:=
&
unversioned
.
Status
{
Status
:
unversioned
.
StatusSuccess
}
expectedBody
,
_
:=
testapi
.
Default
.
Codec
()
.
Encode
(
status
)
expectedBody
,
_
:=
testapi
.
Default
.
Codec
()
.
Encode
(
status
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment