public void GetAllProperties_Overrides_Properties_Of_Base_Node_Types() { // Arrange var switchNodeType = new ToscaNodeType(); switchNodeType.Properties.Add("speed", new ToscaProperty { Type = "string", Default = "10MBps", Required = true, Description = "switch description", Tags = new List <string>(new [] { "read_only" }) }); var nxosNodeType = new ToscaNodeType { DerivedFrom = "cloudshell.nodes.Switch" }; nxosNodeType.Properties.Add("speed", new ToscaProperty { Type = "string", Default = "1GBps", Required = false, Description = "nxos description", Tags = new List <string>(new[] { "admin_only" }) }); var serviceTemplate = new ToscaServiceTemplate { ToscaDefinitionsVersion = "tosca_simple_yaml_1_0" }; serviceTemplate.NodeTypes.Add("cloudshell.nodes.Switch", switchNodeType); serviceTemplate.NodeTypes.Add("vendor.switch.NXOS", nxosNodeType); var cloudServiceArchive = new ToscaCloudServiceArchive(new ToscaMetadata { CreatedBy = "Anonymous", CsarVersion = new Version(1, 1), EntryDefinitions = "tosca.yaml", ToscaMetaFileVersion = new Version(1, 1) }); cloudServiceArchive.AddToscaServiceTemplate("tosca.yaml", serviceTemplate); var validationResults = new List <ValidationResult>(); cloudServiceArchive.TryValidate(out validationResults).Should() .BeTrue(string.Join(Environment.NewLine, validationResults.Select(r => r.ErrorMessage))); // Act var allProperties = nxosNodeType.GetAllProperties(); // Assert allProperties["speed"].Default.Should().Be("1GBps"); allProperties["speed"].Required.Should().BeFalse(); allProperties["speed"].Description.Should().Be("nxos description"); allProperties["speed"].Tags.ShouldAllBeEquivalentTo(new [] { "admin_only" }); }
public void GetAllProperties_Return_Properties_Of_Base_Node_Types() { // Arrange var switchNodeType = new ToscaNodeType(); switchNodeType.Properties.Add("speed", new ToscaProperty { Type = "string" }); var nxosNodeType = new ToscaNodeType { DerivedFrom = "cloudshell.nodes.Switch" }; nxosNodeType.Properties.Add("storage", new ToscaProperty { Type = "string" }); var serviceTemplate = new ToscaServiceTemplate { ToscaDefinitionsVersion = "tosca_simple_yaml_1_0" }; serviceTemplate.NodeTypes.Add("cloudshell.nodes.Switch", switchNodeType); serviceTemplate.NodeTypes.Add("vendor.switch.NXOS", nxosNodeType); var cloudServiceArchive = new ToscaCloudServiceArchive(new ToscaMetadata { CreatedBy = "Anonymous", CsarVersion = new Version(1, 1), EntryDefinitions = "tosca.yaml", ToscaMetaFileVersion = new Version(1, 1) }); cloudServiceArchive.AddToscaServiceTemplate("tosca.yaml", serviceTemplate); var validationResults = new List <ValidationResult>(); cloudServiceArchive.TryValidate(out validationResults).Should() .BeTrue(string.Join(Environment.NewLine, validationResults.Select(r => r.ErrorMessage))); // Act var allProperties = nxosNodeType.GetAllProperties(); // Assert allProperties.Should().Contain(a => a.Key == "speed"); allProperties.Should().Contain(a => a.Key == "storage"); }