fix(StringQuotingEmitter): add missing patterns for double quoting (#957)
* fix(StringQuotingEmitter): add missing patterns to regex for double quotes to be applied when serializing * added missing bool patterns, updated unit test * added bool spec 1.1 url as a comment to StringQuotingEmitter
This commit is contained in:
@@ -563,6 +563,232 @@ spec:
|
||||
Assert.Equal(content.Replace("\r\n", "\n"), objStr.Replace("\r\n", "\n"));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CertainPatternsShouldBeSerializedWithDoubleQuotes()
|
||||
{
|
||||
var content = @"apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
annotations:
|
||||
custom.annotation: ""True""
|
||||
second.custom.annotation: ""~""
|
||||
name: foo
|
||||
namespace: bar
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: NullLowerCase
|
||||
value: ""null""
|
||||
- name: NullCamelCase
|
||||
value: ""Null""
|
||||
- name: NullUpperCase
|
||||
value: ""NULL""
|
||||
- name: TrueLowerCase
|
||||
value: ""true""
|
||||
- name: TrueCamelCase
|
||||
value: ""True""
|
||||
- name: ""TRUE""
|
||||
value: ""TRUE""
|
||||
- name: ""false""
|
||||
value: ""false""
|
||||
- name: ""False""
|
||||
value: ""False""
|
||||
- name: ""FALSE""
|
||||
value: ""FALSE""
|
||||
- name: ""y""
|
||||
value: ""y""
|
||||
- name: ""Y""
|
||||
value: ""Y""
|
||||
- name: ""yes""
|
||||
value: ""yes""
|
||||
- name: ""Yes""
|
||||
value: ""Yes""
|
||||
- name: ""YES""
|
||||
value: ""YES""
|
||||
- name: ""n""
|
||||
value: ""n""
|
||||
- name: ""N""
|
||||
value: ""N""
|
||||
- name: ""no""
|
||||
value: ""no""
|
||||
- name: ""No""
|
||||
value: ""No""
|
||||
- name: ""NO""
|
||||
value: ""NO""
|
||||
- name: ""on""
|
||||
value: ""on""
|
||||
- name: ""On""
|
||||
value: ""On""
|
||||
- name: ""ON""
|
||||
value: ""ON""
|
||||
- name: ""off""
|
||||
value: ""off""
|
||||
- name: ""Off""
|
||||
value: ""Off""
|
||||
- name: ""OFF""
|
||||
value: ""OFF""
|
||||
image: nginx
|
||||
name: foo";
|
||||
|
||||
var pod = new V1Pod()
|
||||
{
|
||||
ApiVersion = "v1",
|
||||
Kind = "Pod",
|
||||
Metadata = new V1ObjectMeta()
|
||||
{
|
||||
Name = "foo",
|
||||
NamespaceProperty = "bar",
|
||||
Annotations = new Dictionary<string, string>
|
||||
{
|
||||
{ "custom.annotation", "True" },
|
||||
{ "second.custom.annotation", "~" },
|
||||
},
|
||||
},
|
||||
Spec = new V1PodSpec()
|
||||
{
|
||||
Containers = new[]
|
||||
{
|
||||
new V1Container()
|
||||
{
|
||||
Image = "nginx",
|
||||
Env = new List<V1EnvVar>
|
||||
{
|
||||
new V1EnvVar
|
||||
{
|
||||
Name = "NullLowerCase",
|
||||
Value = "null",
|
||||
},
|
||||
new V1EnvVar
|
||||
{
|
||||
Name = "NullCamelCase",
|
||||
Value = "Null",
|
||||
},
|
||||
new V1EnvVar
|
||||
{
|
||||
Name = "NullUpperCase",
|
||||
Value = "NULL",
|
||||
},
|
||||
new V1EnvVar
|
||||
{
|
||||
Name = "TrueLowerCase",
|
||||
Value = "true",
|
||||
},
|
||||
new V1EnvVar
|
||||
{
|
||||
Name = "TrueCamelCase",
|
||||
Value = "True",
|
||||
},
|
||||
new V1EnvVar
|
||||
{
|
||||
Name = "TRUE",
|
||||
Value = "TRUE",
|
||||
},
|
||||
new V1EnvVar
|
||||
{
|
||||
Name = "false",
|
||||
Value = "false",
|
||||
},
|
||||
new V1EnvVar
|
||||
{
|
||||
Name = "False",
|
||||
Value = "False",
|
||||
},
|
||||
new V1EnvVar
|
||||
{
|
||||
Name = "FALSE",
|
||||
Value = "FALSE",
|
||||
},
|
||||
new V1EnvVar
|
||||
{
|
||||
Name = "y",
|
||||
Value = "y",
|
||||
},
|
||||
new V1EnvVar
|
||||
{
|
||||
Name = "Y",
|
||||
Value = "Y",
|
||||
},
|
||||
new V1EnvVar
|
||||
{
|
||||
Name = "yes",
|
||||
Value = "yes",
|
||||
},
|
||||
new V1EnvVar
|
||||
{
|
||||
Name = "Yes",
|
||||
Value = "Yes",
|
||||
},
|
||||
new V1EnvVar
|
||||
{
|
||||
Name = "YES",
|
||||
Value = "YES",
|
||||
},
|
||||
new V1EnvVar
|
||||
{
|
||||
Name = "n",
|
||||
Value = "n",
|
||||
},
|
||||
new V1EnvVar
|
||||
{
|
||||
Name = "N",
|
||||
Value = "N",
|
||||
},
|
||||
new V1EnvVar
|
||||
{
|
||||
Name = "no",
|
||||
Value = "no",
|
||||
},
|
||||
new V1EnvVar
|
||||
{
|
||||
Name = "No",
|
||||
Value = "No",
|
||||
},
|
||||
new V1EnvVar
|
||||
{
|
||||
Name = "NO",
|
||||
Value = "NO",
|
||||
},
|
||||
new V1EnvVar
|
||||
{
|
||||
Name = "on",
|
||||
Value = "on",
|
||||
},
|
||||
new V1EnvVar
|
||||
{
|
||||
Name = "On",
|
||||
Value = "On",
|
||||
},
|
||||
new V1EnvVar
|
||||
{
|
||||
Name = "ON",
|
||||
Value = "ON",
|
||||
},
|
||||
new V1EnvVar
|
||||
{
|
||||
Name = "off",
|
||||
Value = "off",
|
||||
},
|
||||
new V1EnvVar
|
||||
{
|
||||
Name = "Off",
|
||||
Value = "Off",
|
||||
},
|
||||
new V1EnvVar
|
||||
{
|
||||
Name = "OFF",
|
||||
Value = "OFF",
|
||||
},
|
||||
},
|
||||
Name = "foo",
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
var objStr = KubernetesYaml.Serialize(pod);
|
||||
Assert.Equal(content.Replace("\r\n", "\n"), objStr.Replace("\r\n", "\n"));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void LoadSecret()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user