private static void AssertCgManifestContent(string cgManifestContent, FileReport fileReport) { var componentManifest = JsonConvert.DeserializeObject <ComponentManifest>(cgManifestContent); foreach (var registration in componentManifest.Registrations) { var validationResult = ComponentValidator.IsComponentValid(registration.Component); var componentReport = CreateComponentReportForRegistration(registration.Component, validationResult); fileReport.ComponentReport.Add(componentReport); } }
public void IsComponentValid_ComponentDefinitionNotMatchComponentType_ComponentIsInvalid() { var invalidTypedComponent = new TypedComponent { Type = ComponentType.Npm, Cargo = new CargoComponent() }; var result = ComponentValidator.IsComponentValid(invalidTypedComponent); result.IsValid.Should().BeFalse(); result.Messages.Should().HaveCount(1); result.Messages.First().Should().BeEquivalentTo("Incorrect component definition. The component type is Npm, but the component definition is for: Cargo."); }
public void IsComponentValid_ValidComponent_ValidResultIsReturned() { var validTypedComponent = new TypedComponent { Type = ComponentType.Npm, Npm = new NpmComponent { Name = "test", Version ="1.0.0" } }; var result = ComponentValidator.IsComponentValid(validTypedComponent); result.IsValid.Should().BeTrue(); result.Messages.Should().HaveCount(0); }