public void SerializeObject_WithOpenApiString_StringScalarIsRendered()
        {
            var manifest = new Kanyon.Kubernetes.Apiextensions.V1.CustomResourceDefinition {
                spec = new Kubernetes.Apiextensions.V1.CustomResourceDefinitionSpec {
                    versions = new [] {
                        new Kubernetes.Apiextensions.V1.CustomResourceDefinitionVersion {
                            schema = new Kubernetes.Apiextensions.V1.CustomResourceValidation {
                                openAPIV3Schema = new OpenApiSchema {
                                    Properties = new Dictionary <string, OpenApiSchema> {
                                        { "test", new OpenApiSchema {
                                              Type    = "string",
                                              Default = new OpenApiString("correctValue")
                                          } }
                                    }
                                }
                            }
                        }
                    }
                }
            };

            var result = YamlConverter.SerializeObject(manifest);

            Assert.IsFalse(result.Contains("primitiveType: String"));
        }
Beispiel #2
0
        public void DeserializeTest()
        {
            YamlConverter yamlConverter = new YamlConverter();
            var           order         = yamlConverter.Deserialize <Order>(document);

            Assert.IsNotNull(order);
        }
        private void OpenExceptionDetailsDialog()
        {
            var            ymlstr = YamlConverter.ExceptionToYaml(OccuredException);
            TreeViewDialog dialog = new TreeViewDialog(ymlstr);

            dialog.Title = $"Exception Details[{ OccuredException.GetType().Name}]";
            dialog.ShowDialog();
        }
 public CopyAsYamlFormatMenuViewModel()
 {
     CopyAsYamlFormatCommand.Subscribe(_ =>
     {
         var parameter = SelectManager.SelectedItems;
         var yaml      = YamlConverter.ToYaml(parameter);
         Clipboard.SetText(yaml);
     })
     .AddTo(disposables);
 }
Beispiel #5
0
 private string SerializeManifestObject(IManifestObject iko)
 {
     if (iko is PrecompiledManifestObject precompiledManifestObject)
     {
         return(precompiledManifestObject.ManifestOutput);
     }
     else
     {
         return(YamlConverter.SerializeObject(iko));
     }
 }
 public DataStructureBreakdownMenuViewModel()
 {
     DataStructureBreakdownCommand.Subscribe(_ =>
     {
         var parameter         = SelectManager.GetCollection <EntityBaseObjectViewModel>();
         var yaml              = YamlConverter.ToYaml(parameter);
         TreeViewDialog dialog = new TreeViewDialog(yaml);
         dialog.Title          = "Data Structure Breakdown";
         dialog.ShowDialog();
     })
     .AddTo(disposables);
 }
Beispiel #7
0
        public void SerializeTest()
        {
            YamlConverter yamlConverter = new YamlConverter();
            var           addrss        = new Address()
            {
                City   = "City",
                State  = "State",
                Street = "Street"
            };
            var value = yamlConverter.Serialize(addrss);

            Assert.AreEqual("street: Street\r\ncity: City\r\nstate: State\r\n", value);
        }
Beispiel #8
0
        public void DeserializeTest1()
        {
            YamlConverter yamlConverter = new YamlConverter();
            var           addrss        = new Address()
            {
                City   = "City",
                State  = "State",
                Street = "Street"
            };
            var value  = yamlConverter.Serialize(addrss);
            var actual = yamlConverter.Deserialize(value, typeof(Address));

            Assert.AreEqual("City", (actual as Address).City);
        }
Beispiel #9
0
        /// <summary>
        /// 获取转换器
        /// </summary>
        /// <param name="converterType">转换器类型</param>
        /// <returns></returns>
        public static IConverter GetConverter(ConverterType converterType = ConverterType.NewtonsoftJsonConverter)
        {
            IConverter result = null;

            switch (converterType)
            {
            case ConverterType.NewtonsoftJsonConverter: result = new JsonConverter(); break;

            case ConverterType.NewtonsoftXmlConverter: result = new XmlConverter(); break;

            case ConverterType.YamlDotNetYamlConverter: result = new YamlConverter(); break;

            default: result = new JsonConverter(); break;
            }

            return(result);
        }
Beispiel #10
0
        public void SerializeObject_RespectsJsonPropertyTest()
        {
            var manifest = new Manifest
            {
                new CustomResourceDefinition
                {
                    spec = new CustomResourceDefinitionSpec
                    {
                        additionalPrinterColumns = new List <CustomResourceColumnDefinition>
                        {
                            new CustomResourceColumnDefinition
                            {
                                JSONPath = ".path",
                                name     = "name"
                            }
                        }
                    }
                }
            };

            var result = YamlConverter.SerializeObject(manifest);

            Assert.IsTrue(result.Contains("JSONPath"));
        }
Beispiel #11
0
        static void ToYaml(AampFile file)
        {
            string yaml = YamlConverter.ToYaml(file);

            System.IO.File.WriteAllText("test.yaml", yaml);
        }
Beispiel #12
0
 public void ConvertFromString(string text)
 {
     aampFile = YamlConverter.FromYaml(text);
 }
Beispiel #13
0
 public string ConvertToString()
 {
     return(YamlConverter.ToYaml(aampFile));
 }
Beispiel #14
0
        public void SerializeObject_ForCustomResource_RemovesEmptySets()
        {
            var template = new CustomResourceDefinition
            {
                metadata = new ObjectMeta
                {
                    name = "test.crd"
                },
                spec = new CustomResourceDefinitionSpec
                {
                    group = "crd",
                    names = new CustomResourceDefinitionNames
                    {
                        kind   = "test",
                        plural = "tests"
                    },
                    scope        = "Namespaced",
                    subresources = new CustomResourceSubresources
                    {
                        status = new CustomResourceSubresourceStatus
                        {
                        }
                    },
                    validation = new CustomResourceValidation
                    {
                        openAPIV3Schema = new Microsoft.OpenApi.Models.OpenApiSchema
                        {
                            Properties = new Dictionary <string, Microsoft.OpenApi.Models.OpenApiSchema>
                            {
                                { "apiVersion", new Microsoft.OpenApi.Models.OpenApiSchema
                                  {
                                      Type = "string"
                                  } },
                                { "kind", new Microsoft.OpenApi.Models.OpenApiSchema
                                  {
                                      Type = "string"
                                  } },
                                { "metadata", new Microsoft.OpenApi.Models.OpenApiSchema
                                  {
                                      Type = "object"
                                  } },
                                { "spec", new Microsoft.OpenApi.Models.OpenApiSchema
                                  {
                                      Type       = "object",
                                      Properties = new Dictionary <string, Microsoft.OpenApi.Models.OpenApiSchema>
                                      {
                                          { "rules", new Microsoft.OpenApi.Models.OpenApiSchema
                                        {
                                            Type  = "array",
                                            Items = new Microsoft.OpenApi.Models.OpenApiSchema
                                            {
                                                Type       = "object",
                                                Properties = new Dictionary <string, Microsoft.OpenApi.Models.OpenApiSchema>
                                                {
                                                    { "backend", new Microsoft.OpenApi.Models.OpenApiSchema
                                                    {
                                                        Type       = "object",
                                                        Properties = new Dictionary <string, Microsoft.OpenApi.Models.OpenApiSchema>
                                                        {
                                                            { "serviceName", new Microsoft.OpenApi.Models.OpenApiSchema
                                                            {
                                                                Type = "string"
                                                            } },
                                                            { "servicePort", new Microsoft.OpenApi.Models.OpenApiSchema
                                                            {
                                                                Type   = "integer",
                                                                Format = "int32"
                                                            } }
                                                        }
                                                    } },
                                                    { "host", new Microsoft.OpenApi.Models.OpenApiSchema
                                                    {
                                                        Type = "string"
                                                    } },
                                                    { "port", new Microsoft.OpenApi.Models.OpenApiSchema
                                                    {
                                                        Type   = "integer",
                                                        Format = "int32"
                                                    } }
                                                }
                                            }
                                        } },
                                          { "tls", new Microsoft.OpenApi.Models.OpenApiSchema
                                        {
                                            Type  = "array",
                                            Items = new Microsoft.OpenApi.Models.OpenApiSchema
                                            {
                                                Type       = "object",
                                                Properties = new Dictionary <string, Microsoft.OpenApi.Models.OpenApiSchema>
                                                {
                                                    { "hosts", new Microsoft.OpenApi.Models.OpenApiSchema
                                                    {
                                                        Type  = "array",
                                                        Items = new Microsoft.OpenApi.Models.OpenApiSchema
                                                        {
                                                            Type = "string"
                                                        }
                                                    } },
                                                    { "secretName", new Microsoft.OpenApi.Models.OpenApiSchema
                                                    {
                                                        Type = "string"
                                                    } }
                                                }
                                            }
                                        } }
                                      }
                                  } },
                                { "status", new Microsoft.OpenApi.Models.OpenApiSchema
                                  {
                                      Type = "object"
                                  } }
                            }
                        }
                    },
                    version = "v1beta1"
                },
                status = new CustomResourceDefinitionStatus
                {
                    acceptedNames = new CustomResourceDefinitionNames
                    {
                        kind   = "",
                        plural = ""
                    }
                }
            };

            string yaml = YamlConverter.SerializeObject(template);

            Assert.IsFalse(yaml.Contains("allOf: []"));
        }
Beispiel #15
0
        public void SerializeObject_WithAmbiguousValue_StringIsDoubleQuoted()
        {
            var manifest = new Kanyon.Kubernetes.Apps.V1.Deployment
            {
                metadata = new Kanyon.Kubernetes.Core.V1.ObjectMeta
                {
                    name = "sql"
                },
                spec = new Kanyon.Kubernetes.Apps.V1.DeploymentSpec
                {
                    replicas = 1,
                    selector = new Kanyon.Kubernetes.Core.V1.LabelSelector
                    {
                        matchLabels = new Dictionary <object, object>
                        {
                            { "app", "sql" }
                        }
                    },
                    template = new Kanyon.Kubernetes.Core.V1.PodTemplateSpec
                    {
                        metadata = new Kanyon.Kubernetes.Core.V1.ObjectMeta
                        {
                            labels = new Dictionary <object, object>
                            {
                                { "app", "sql" },
                                { "tier", "db" }
                            }
                        },
                        spec = new Kanyon.Kubernetes.Core.V1.PodSpec
                        {
                            containers = new List <Kanyon.Kubernetes.Core.V1.Container>
                            {
                                new Kanyon.Kubernetes.Core.V1.Container
                                {
                                    env = new List <Kanyon.Kubernetes.Core.V1.EnvVar>
                                    {
                                        new Kanyon.Kubernetes.Core.V1.EnvVar
                                        {
                                            name  = "MSSQL_PID",
                                            value = "Developer"
                                        },
                                        new Kanyon.Kubernetes.Core.V1.EnvVar
                                        {
                                            name  = "ACCEPT_EULA",
                                            value = "Y"
                                        }
                                    },
                                    image = "mcr.microsoft.com/mssql/server:2017-latest",
                                    name  = "mssql",
                                    ports = new List <Kanyon.Kubernetes.Core.V1.ContainerPort>
                                    {
                                        new Kanyon.Kubernetes.Core.V1.ContainerPort
                                        {
                                            containerPort = 1433
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            };

            var result = YamlConverter.SerializeObject(manifest);

            Assert.IsTrue(result.Contains("\"Y\""));
        }