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
fd88c361
Commit
fd88c361
authored
Sep 22, 2015
by
k8s-merge-robot
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #14157 from caesarxuchao/thirdPartyResourceDataCreator.New
Auto commit by PR queue bot
parents
a010e919
f1de364a
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
61 additions
and
9 deletions
+61
-9
master.go
pkg/master/master.go
+6
-5
codec.go
pkg/registry/thirdpartyresourcedata/codec.go
+7
-4
codec_test.go
pkg/registry/thirdpartyresourcedata/codec_test.go
+48
-0
No files found.
pkg/master/master.go
View file @
fd88c361
...
...
@@ -939,11 +939,12 @@ func (m *Master) thirdpartyapi(group, kind, version string) *apiserver.APIGroupV
Convertor
:
api
.
Scheme
,
Typer
:
api
.
Scheme
,
Mapper
:
thirdpartyresourcedata
.
NewMapper
(
latest
.
GroupOrDie
(
"experimental"
)
.
RESTMapper
,
kind
,
version
,
group
),
Codec
:
thirdpartyresourcedata
.
NewCodec
(
latest
.
GroupOrDie
(
"experimental"
)
.
Codec
,
kind
),
Linker
:
latest
.
GroupOrDie
(
"experimental"
)
.
SelfLinker
,
Storage
:
storage
,
Version
:
version
,
Mapper
:
thirdpartyresourcedata
.
NewMapper
(
latest
.
GroupOrDie
(
"experimental"
)
.
RESTMapper
,
kind
,
version
,
group
),
Codec
:
thirdpartyresourcedata
.
NewCodec
(
latest
.
GroupOrDie
(
"experimental"
)
.
Codec
,
kind
),
Linker
:
latest
.
GroupOrDie
(
"experimental"
)
.
SelfLinker
,
Storage
:
storage
,
Version
:
version
,
ServerVersion
:
latest
.
GroupOrDie
(
""
)
.
GroupVersion
,
Context
:
m
.
requestContextMapper
,
...
...
pkg/registry/thirdpartyresourcedata/codec.go
View file @
fd88c361
...
...
@@ -266,15 +266,18 @@ type thirdPartyResourceDataCreator struct {
}
func
(
t
*
thirdPartyResourceDataCreator
)
New
(
version
,
kind
string
)
(
out
runtime
.
Object
,
err
error
)
{
if
t
.
version
!=
version
{
return
nil
,
fmt
.
Errorf
(
"unknown version %s for kind %s"
,
version
,
kind
)
}
switch
kind
{
case
"ThirdPartyResourceData"
:
if
t
.
version
!=
version
{
return
nil
,
fmt
.
Errorf
(
"unknown version %s for kind %s"
,
version
,
kind
)
}
return
&
experimental
.
ThirdPartyResourceData
{},
nil
case
"ThirdPartyResourceDataList"
:
if
t
.
version
!=
version
{
return
nil
,
fmt
.
Errorf
(
"unknown version %s for kind %s"
,
version
,
kind
)
}
return
&
experimental
.
ThirdPartyResourceDataList
{},
nil
default
:
return
t
.
delegate
.
New
(
latest
.
GroupOrDie
(
"experimental"
)
.
V
ersion
,
kind
)
return
t
.
delegate
.
New
(
v
ersion
,
kind
)
}
}
pkg/registry/thirdpartyresourcedata/codec_test.go
View file @
fd88c361
...
...
@@ -24,7 +24,9 @@ import (
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/apis/experimental"
"k8s.io/kubernetes/pkg/runtime"
)
type
Foo
struct
{
...
...
@@ -133,3 +135,49 @@ func TestCodec(t *testing.T) {
}
}
}
func
TestCreater
(
t
*
testing
.
T
)
{
creater
:=
NewObjectCreator
(
"creater version"
,
api
.
Scheme
)
tests
:=
[]
struct
{
name
string
version
string
kind
string
expectedObj
runtime
.
Object
expectErr
bool
}{
{
name
:
"valid ThirdPartyResourceData creation"
,
version
:
"creater version"
,
kind
:
"ThirdPartyResourceData"
,
expectedObj
:
&
experimental
.
ThirdPartyResourceData
{},
expectErr
:
false
,
},
{
name
:
"invalid ThirdPartyResourceData creation"
,
version
:
"invalid version"
,
kind
:
"ThirdPartyResourceData"
,
expectedObj
:
nil
,
expectErr
:
true
,
},
{
name
:
"valid ListOptions creation"
,
version
:
"v1"
,
kind
:
"ListOptions"
,
expectedObj
:
&
v1
.
ListOptions
{},
expectErr
:
false
,
},
}
for
_
,
test
:=
range
tests
{
out
,
err
:=
creater
.
New
(
test
.
version
,
test
.
kind
)
if
err
!=
nil
&&
!
test
.
expectErr
{
t
.
Errorf
(
"[%s] unexpected error: %v"
,
test
.
name
,
err
)
}
if
err
==
nil
&&
test
.
expectErr
{
t
.
Errorf
(
"[%s] unexpected non-error"
,
test
.
name
)
}
if
!
reflect
.
DeepEqual
(
test
.
expectedObj
,
out
)
{
t
.
Errorf
(
"[%s] unexpected error: expect: %v, got: %v"
,
test
.
expectedObj
,
out
)
}
}
}
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