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
0e5478ef
Commit
0e5478ef
authored
Oct 07, 2015
by
k8s-merge-robot
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #15269 from brendandburns/apis
Auto commit by PR queue bot
parents
04f055c4
deb3514c
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
34 additions
and
8 deletions
+34
-8
helper.go
pkg/runtime/helper.go
+11
-8
helper_test.go
pkg/runtime/helper_test.go
+23
-0
No files found.
pkg/runtime/helper.go
View file @
0e5478ef
...
@@ -71,15 +71,18 @@ func ExtractList(obj Object) ([]Object, error) {
...
@@ -71,15 +71,18 @@ func ExtractList(obj Object) ([]Object, error) {
list
:=
make
([]
Object
,
items
.
Len
())
list
:=
make
([]
Object
,
items
.
Len
())
for
i
:=
range
list
{
for
i
:=
range
list
{
raw
:=
items
.
Index
(
i
)
raw
:=
items
.
Index
(
i
)
var
found
bool
switch
item
:=
raw
.
Interface
()
.
(
type
)
{
switch
raw
.
Kind
()
{
case
Object
:
case
reflect
.
Interface
,
reflect
.
Ptr
:
list
[
i
]
=
item
list
[
i
],
found
=
raw
.
Interface
()
.
(
Object
)
case
RawExtension
:
list
[
i
]
=
&
Unknown
{
RawJSON
:
item
.
RawJSON
,
}
default
:
default
:
list
[
i
],
found
=
raw
.
Addr
()
.
Interface
()
.
(
Object
)
var
found
bool
}
if
list
[
i
],
found
=
raw
.
Addr
()
.
Interface
()
.
(
Object
);
!
found
{
if
!
found
{
return
nil
,
fmt
.
Errorf
(
"%v: item[%v]: Expected object, got %#v(%s)"
,
obj
,
i
,
raw
.
Interface
(),
raw
.
Kind
())
return
nil
,
fmt
.
Errorf
(
"item[%v]: Expected object, got %#v(%s)"
,
i
,
raw
.
Interface
(),
raw
.
Kind
())
}
}
}
}
}
return
list
,
nil
return
list
,
nil
...
...
pkg/runtime/helper_test.go
View file @
0e5478ef
...
@@ -22,6 +22,7 @@ import (
...
@@ -22,6 +22,7 @@ import (
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/testapi"
"k8s.io/kubernetes/pkg/api/testapi"
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/util"
"k8s.io/kubernetes/pkg/util"
...
@@ -87,6 +88,28 @@ func TestExtractListGeneric(t *testing.T) {
...
@@ -87,6 +88,28 @@ func TestExtractListGeneric(t *testing.T) {
}
}
}
}
func
TestExtractListGenericV1
(
t
*
testing
.
T
)
{
pl
:=
&
v1
.
List
{
Items
:
[]
runtime
.
RawExtension
{
{
RawJSON
:
[]
byte
(
"foo"
)},
{
RawJSON
:
[]
byte
(
"bar"
)},
},
}
list
,
err
:=
runtime
.
ExtractList
(
pl
)
if
err
!=
nil
{
t
.
Fatalf
(
"Unexpected error %v"
,
err
)
}
if
e
,
a
:=
len
(
list
),
len
(
pl
.
Items
);
e
!=
a
{
t
.
Fatalf
(
"Expected %v, got %v"
,
e
,
a
)
}
if
obj
,
ok
:=
list
[
0
]
.
(
*
runtime
.
Unknown
);
!
ok
{
t
.
Fatalf
(
"Expected list[0] to be *runtime.Unknown, it is %#v"
,
obj
)
}
if
obj
,
ok
:=
list
[
1
]
.
(
*
runtime
.
Unknown
);
!
ok
{
t
.
Fatalf
(
"Expected list[1] to be *runtime.Unknown, it is %#v"
,
obj
)
}
}
type
fakePtrInterfaceList
struct
{
type
fakePtrInterfaceList
struct
{
Items
*
[]
runtime
.
Object
Items
*
[]
runtime
.
Object
}
}
...
...
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