Beispiel #1
0
        public void GetPackageType_GetsMultiplePackageTypes()
        {
            // Arrange
            var contents =
                @"<?xml version=""1.0""?>
<package>
  <metadata>
    <packageTypes>
      <packageType name=""Foo"" version=""1.0"" />
      <packageType name=""Bar"" version=""2.0"" />
    </packageTypes>
  </metadata>
</package>";
            var reader = new TestNuspecCoreReader(contents);

            // Act
            var packageTypes = reader.GetPackageTypes();

            // Assert
            Assert.Equal(2, packageTypes.Count());

            var first = packageTypes.ElementAt(0);

            Assert.Equal("Foo", first.Name);
            Assert.Equal(new Version(1, 0), first.Version);

            var second = packageTypes.ElementAt(1);

            Assert.Equal("Bar", second.Name);
            Assert.Equal(new Version(2, 0), second.Version);
        }
Beispiel #2
0
</package>")] // Elements with children should be skipped.
        public void GetMetadata(string contents)
        {
            // Arrange
            var reader = new TestNuspecCoreReader(contents);

            // Act
            var metadata = reader.GetMetadata();

            // Assert
            Assert.Collection(metadata,
                              item =>
            {
                Assert.Equal("id", item.Key);
                Assert.Equal("Test", item.Value);
            },
                              item =>
            {
                Assert.Equal("somestuff", item.Key);
                Assert.Equal("some-value", item.Value);
            },
                              item =>
            {
                Assert.Equal("ver", item.Key);
                Assert.Equal("123", item.Value);
            });
        }
Beispiel #3
0
        public void GetPackageType_ReadsPackageTypeFromManifest(string contents, string expectedType, string expectedVersion)
        {
            // Arrange
            var reader = new TestNuspecCoreReader(contents);

            // Act
            var packageTypes = reader.GetPackageTypes();

            // Assert
            Assert.Equal(1, packageTypes.Count());
            var packageType = packageTypes.First();

            Assert.Equal(expectedType, packageType.Name);
            Assert.Equal(expectedVersion, packageType.Version.ToString());
        }
Beispiel #4
0
        public void GetPackageType_ReturnsEmptyPackageTypeListIfNotSpecifiedInManfiest()
        {
            // Arrange
            var contents =
                @"<?xml version=""1.0""?>
<package>
<metadata/>
</package>";

            var reader = new TestNuspecCoreReader(contents);

            // Act
            var packageTypes = reader.GetPackageTypes();

            // Assert
            Assert.Empty(packageTypes);
        }
Beispiel #5
0
        public void Id_ReturnsNullWithWrongCase()
        {
            // Arrange
            var contents =
                @"<?xml version=""1.0""?>
<package>
  <metadata>
    <ID>foo</ID>
  </metadata>
</package>";

            var reader = new TestNuspecCoreReader(contents);

            // Act
            var id = reader.GetId();

            // Assert
            Assert.Null(id);
        }
Beispiel #6
0
        public void GetPackageType_ThrowsIfPackageNameIsMissing()
        {
            // Arrange
            var contents =
                @"<?xml version=""1.0""?>
<package>
  <metadata>
    <packageTypes>
      <packageType version=""1.0"">SomeFormat</packageType>
    </packageTypes>
  </metadata>
</package>";
            var reader = new TestNuspecCoreReader(contents);

            // Act and Assert
            var exception = Assert.Throws <PackagingException>(() => reader.GetPackageTypes());

            Assert.Equal(
                "Nuspec file contains a package type that is missing the name attribute.",
                exception.Message);
        }
Beispiel #7
0
        public void GetPackageType_ThrowsIfPackageTypeVersionCannotBeRead()
        {
            // Arrange
            var contents =
                @"<?xml version=""1.0""?>
<package>
  <metadata>
    <packageTypes>
      <packageType name=""SomeFormat"" version=""3.5-alpha"" />
    </packageTypes>
  </metadata>
</package>";
            var reader = new TestNuspecCoreReader(contents);

            // Act and Assert
            var exception = Assert.Throws <PackagingException>(() => reader.GetPackageTypes());

            Assert.Equal(
                "Nuspec file contains a package type with an invalid package version '3.5-alpha'.",
                exception.Message);
        }