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
f51c1301
Commit
f51c1301
authored
Aug 03, 2016
by
pweil-
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add asserts for RecognizingDecoder and update protobuf serializer to implement interface
parent
6b523ce6
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
16 additions
and
11 deletions
+16
-11
json.go
pkg/runtime/serializer/json/json.go
+2
-0
protobuf.go
pkg/runtime/serializer/protobuf/protobuf.go
+8
-6
protobuf_test.go
pkg/runtime/serializer/protobuf/protobuf_test.go
+3
-3
recognizer_test.go
pkg/runtime/serializer/recognizer/testing/recognizer_test.go
+3
-2
No files found.
pkg/runtime/serializer/json/json.go
View file @
f51c1301
...
@@ -25,6 +25,7 @@ import (
...
@@ -25,6 +25,7 @@ import (
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime/serializer/recognizer"
"k8s.io/kubernetes/pkg/util/framer"
"k8s.io/kubernetes/pkg/util/framer"
utilyaml
"k8s.io/kubernetes/pkg/util/yaml"
utilyaml
"k8s.io/kubernetes/pkg/util/yaml"
)
)
...
@@ -63,6 +64,7 @@ type Serializer struct {
...
@@ -63,6 +64,7 @@ type Serializer struct {
// Serializer implements Serializer
// Serializer implements Serializer
var
_
runtime
.
Serializer
=
&
Serializer
{}
var
_
runtime
.
Serializer
=
&
Serializer
{}
var
_
recognizer
.
RecognizingDecoder
=
&
Serializer
{}
// Decode attempts to convert the provided data into YAML or JSON, extract the stored schema kind, apply the provided default gvk, and then
// Decode attempts to convert the provided data into YAML or JSON, extract the stored schema kind, apply the provided default gvk, and then
// load that data into an object matching the desired schema kind or the provided into. If into is *runtime.Unknown, the raw data will be
// load that data into an object matching the desired schema kind or the provided into. If into is *runtime.Unknown, the raw data will be
...
...
pkg/runtime/serializer/protobuf/protobuf.go
View file @
f51c1301
...
@@ -26,6 +26,7 @@ import (
...
@@ -26,6 +26,7 @@ import (
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime/serializer/recognizer"
"k8s.io/kubernetes/pkg/util/framer"
"k8s.io/kubernetes/pkg/util/framer"
)
)
...
@@ -76,6 +77,7 @@ type Serializer struct {
...
@@ -76,6 +77,7 @@ type Serializer struct {
}
}
var
_
runtime
.
Serializer
=
&
Serializer
{}
var
_
runtime
.
Serializer
=
&
Serializer
{}
var
_
recognizer
.
RecognizingDecoder
=
&
Serializer
{}
// Decode attempts to convert the provided data into a protobuf message, extract the stored schema kind, apply the provided default
// Decode attempts to convert the provided data into a protobuf message, extract the stored schema kind, apply the provided default
// gvk, and then load that data into an object matching the desired schema kind or the provided into. If into is *runtime.Unknown,
// gvk, and then load that data into an object matching the desired schema kind or the provided into. If into is *runtime.Unknown,
...
@@ -124,7 +126,7 @@ func (s *Serializer) Decode(originalData []byte, gvk *unversioned.GroupVersionKi
...
@@ -124,7 +126,7 @@ func (s *Serializer) Decode(originalData []byte, gvk *unversioned.GroupVersionKi
if
intoUnknown
,
ok
:=
into
.
(
*
runtime
.
Unknown
);
ok
&&
intoUnknown
!=
nil
{
if
intoUnknown
,
ok
:=
into
.
(
*
runtime
.
Unknown
);
ok
&&
intoUnknown
!=
nil
{
*
intoUnknown
=
unk
*
intoUnknown
=
unk
if
ok
,
_
:=
s
.
RecognizesData
(
bytes
.
NewBuffer
(
unk
.
Raw
));
ok
{
if
ok
,
_
,
_
:=
s
.
RecognizesData
(
bytes
.
NewBuffer
(
unk
.
Raw
));
ok
{
intoUnknown
.
ContentType
=
s
.
contentType
intoUnknown
.
ContentType
=
s
.
contentType
}
}
return
intoUnknown
,
&
actual
,
nil
return
intoUnknown
,
&
actual
,
nil
...
@@ -237,19 +239,19 @@ func (s *Serializer) Encode(obj runtime.Object, w io.Writer) error {
...
@@ -237,19 +239,19 @@ func (s *Serializer) Encode(obj runtime.Object, w io.Writer) error {
}
}
// RecognizesData implements the RecognizingDecoder interface.
// RecognizesData implements the RecognizingDecoder interface.
func
(
s
*
Serializer
)
RecognizesData
(
peek
io
.
Reader
)
(
bool
,
error
)
{
func
(
s
*
Serializer
)
RecognizesData
(
peek
io
.
Reader
)
(
bool
,
bool
,
error
)
{
prefix
:=
make
([]
byte
,
4
)
prefix
:=
make
([]
byte
,
4
)
n
,
err
:=
peek
.
Read
(
prefix
)
n
,
err
:=
peek
.
Read
(
prefix
)
if
err
!=
nil
{
if
err
!=
nil
{
if
err
==
io
.
EOF
{
if
err
==
io
.
EOF
{
return
false
,
nil
return
false
,
false
,
nil
}
}
return
false
,
err
return
false
,
false
,
err
}
}
if
n
!=
4
{
if
n
!=
4
{
return
false
,
nil
return
false
,
false
,
nil
}
}
return
bytes
.
Equal
(
s
.
prefix
,
prefix
),
nil
return
bytes
.
Equal
(
s
.
prefix
,
prefix
),
false
,
nil
}
}
// copyKindDefaults defaults dst to the value in src if dst does not have a value set.
// copyKindDefaults defaults dst to the value in src if dst does not have a value set.
...
...
pkg/runtime/serializer/protobuf/protobuf_test.go
View file @
f51c1301
...
@@ -79,7 +79,7 @@ func TestRecognize(t *testing.T) {
...
@@ -79,7 +79,7 @@ func TestRecognize(t *testing.T) {
{
0x6b
,
0x38
,
0x73
,
0x01
},
{
0x6b
,
0x38
,
0x73
,
0x01
},
}
}
for
i
,
data
:=
range
ignores
{
for
i
,
data
:=
range
ignores
{
if
ok
,
err
:=
s
.
RecognizesData
(
bytes
.
NewBuffer
(
data
));
err
!=
nil
||
ok
{
if
ok
,
_
,
err
:=
s
.
RecognizesData
(
bytes
.
NewBuffer
(
data
));
err
!=
nil
||
ok
{
t
.
Errorf
(
"%d: should not recognize data: %v"
,
i
,
err
)
t
.
Errorf
(
"%d: should not recognize data: %v"
,
i
,
err
)
}
}
}
}
...
@@ -88,7 +88,7 @@ func TestRecognize(t *testing.T) {
...
@@ -88,7 +88,7 @@ func TestRecognize(t *testing.T) {
{
0x6b
,
0x38
,
0x73
,
0x00
,
0x01
},
{
0x6b
,
0x38
,
0x73
,
0x00
,
0x01
},
}
}
for
i
,
data
:=
range
recognizes
{
for
i
,
data
:=
range
recognizes
{
if
ok
,
err
:=
s
.
RecognizesData
(
bytes
.
NewBuffer
(
data
));
err
!=
nil
||
!
ok
{
if
ok
,
_
,
err
:=
s
.
RecognizesData
(
bytes
.
NewBuffer
(
data
));
err
!=
nil
||
!
ok
{
t
.
Errorf
(
"%d: should recognize data: %v"
,
i
,
err
)
t
.
Errorf
(
"%d: should recognize data: %v"
,
i
,
err
)
}
}
}
}
...
@@ -184,7 +184,7 @@ func TestEncode(t *testing.T) {
...
@@ -184,7 +184,7 @@ func TestEncode(t *testing.T) {
continue
continue
}
}
if
ok
,
err
:=
s
.
RecognizesData
(
bytes
.
NewBuffer
(
data
));
!
ok
||
err
!=
nil
{
if
ok
,
_
,
err
:=
s
.
RecognizesData
(
bytes
.
NewBuffer
(
data
));
!
ok
||
err
!=
nil
{
t
.
Errorf
(
"%d: did not recognize data generated by call: %v"
,
i
,
err
)
t
.
Errorf
(
"%d: did not recognize data generated by call: %v"
,
i
,
err
)
}
}
}
}
...
...
pkg/runtime/serializer/recognizer/recognizer_test.go
→
pkg/runtime/serializer/recognizer/
testing/
recognizer_test.go
View file @
f51c1301
...
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
...
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
limitations under the License.
*/
*/
package
recognizer
package
testing
import
(
import
(
"testing"
"testing"
...
@@ -22,6 +22,7 @@ import (
...
@@ -22,6 +22,7 @@ import (
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime/serializer/json"
"k8s.io/kubernetes/pkg/runtime/serializer/json"
"k8s.io/kubernetes/pkg/runtime/serializer/recognizer"
)
)
type
A
struct
{}
type
A
struct
{}
...
@@ -31,7 +32,7 @@ func (A) GetObjectKind() unversioned.ObjectKind { return unversioned.EmptyObject
...
@@ -31,7 +32,7 @@ func (A) GetObjectKind() unversioned.ObjectKind { return unversioned.EmptyObject
func
TestRecognizer
(
t
*
testing
.
T
)
{
func
TestRecognizer
(
t
*
testing
.
T
)
{
s
:=
runtime
.
NewScheme
()
s
:=
runtime
.
NewScheme
()
s
.
AddKnownTypes
(
unversioned
.
GroupVersion
{
Version
:
"v1"
},
&
A
{})
s
.
AddKnownTypes
(
unversioned
.
GroupVersion
{
Version
:
"v1"
},
&
A
{})
d
:=
NewDecoder
(
d
:=
recognizer
.
NewDecoder
(
json
.
NewSerializer
(
json
.
DefaultMetaFactory
,
s
,
s
,
false
),
json
.
NewSerializer
(
json
.
DefaultMetaFactory
,
s
,
s
,
false
),
json
.
NewYAMLSerializer
(
json
.
DefaultMetaFactory
,
s
,
s
),
json
.
NewYAMLSerializer
(
json
.
DefaultMetaFactory
,
s
,
s
),
)
)
...
...
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