Exemplo n.º 1
0
        public void AssetsAddedToList_NewAndPreviousAssetsInList()
        {
            AssetData existingAssetData = new AssetData(true)
            {
                Name      = "ExistingAssetName",
                Version   = "56789",
                Locations = ImmutableList <AssetLocationData> .Empty.Add(new AssetLocationData(LocationType.Container) { Location = "oldTestLocation" })
            };

            PushMetadataToBuildAssetRegistry pushMetadata = new PushMetadataToBuildAssetRegistry();
            List <AssetData> assetData = new List <AssetData>()
            {
                existingAssetData
            };

            AssetData newAssetData = new AssetData(true)
            {
                Name = "testName", Version = "12345", Locations = ImmutableList <AssetLocationData> .Empty.Add(new AssetLocationData(LocationType.None) { Location = "testLocation" })
            };

            pushMetadata.AddAsset(assetData, newAssetData.Name, newAssetData.Version, "testLocation", LocationType.None, true);
            assetData.Count.Should().Be(2);
            assetData[0].Should().BeEquivalentTo(existingAssetData);
            assetData[1].Should().BeEquivalentTo(newAssetData);
        }
Exemplo n.º 2
0
        public void GivenShippingAssets()
        {
            BuildModel expectedBuildModel = GetBuildModel();
            PushMetadataToBuildAssetRegistry pushMetadata = GetPushMetadata();

            PackageArtifactModel packageArtifact = new PackageArtifactModel
            {
                Attributes = new Dictionary <string, string>
                {
                    { "NonShipping", "false" },
                },
                Id      = shippingAssetData.Name,
                Version = shippingAssetData.Version
            };

            expectedBuildModel.Artifacts =
                new ArtifactSet
            {
                Packages = new List <PackageArtifactModel> {
                    packageArtifact
                }
            };

            BuildModel actualModel = pushMetadata.CreateMergedManifestBuildModel(
                ImmutableList.Create(shippingAssetData), manifestBuildData);

            actualModel.Should().BeEquivalentTo(expectedBuildModel);
        }
Exemplo n.º 3
0
        public void GivenAssetWithoutVersion()
        {
            BuildModel expectedBuildModel = GetBuildModel();
            PushMetadataToBuildAssetRegistry pushMetadata = GetPushMetadata();

            PackageArtifactModel packageArtifact = new PackageArtifactModel
            {
                Attributes = new Dictionary <string, string>
                {
                    { "NonShipping", "true" },
                    { "Id", assetDataWithoutVersion.Name },
                    { "Version", null }
                }
            };

            expectedBuildModel.Artifacts =
                new ArtifactSet
            {
                Packages = new List <PackageArtifactModel> {
                    packageArtifact
                }
            };

            BuildModel actualModel = pushMetadata.CreateMergedManifestBuildModel(
                ImmutableList.Create(assetDataWithoutVersion), manifestBuildData);

            actualModel.Should().BeEquivalentTo(expectedBuildModel);
        }
Exemplo n.º 4
0
        public void GivenAssetsInBlobSet()
        {
            BuildModel expectedBuildModel = GetBuildModel();
            PushMetadataToBuildAssetRegistry pushMetadata = GetPushMetadata();

            AssetData         dataInBlobSet     = pushMetadata.GetManifestAsAsset(ImmutableList.Create(nonShippingAssetData), "thisIsALocation", "thisIsTheManifestFileName");
            BlobArtifactModel blobArtifactModel = new BlobArtifactModel
            {
                Attributes = new Dictionary <string, string>
                {
                    { "NonShipping", "true" }
                },
                Id = dataInBlobSet.Name
            };

            expectedBuildModel.Artifacts =
                new ArtifactSet
            {
                Blobs = new List <BlobArtifactModel> {
                    blobArtifactModel
                }
            };
            BuildModel actualModel = pushMetadata.CreateMergedManifestBuildModel(
                ImmutableList.Create(dataInBlobSet), manifestBuildData);

            actualModel.Should().BeEquivalentTo(expectedBuildModel);
        }
        public void GivenShippingAndNonShippingPackagesBothShouldBeMergedIntoTheBuildModel()
        {
            BuildModel expectedBuildModel = GetBuildModel();
            PushMetadataToBuildAssetRegistry pushMetadata = GetPushMetadata();

            expectedBuildModel.Artifacts =
                new ArtifactSet
            {
                Packages = new List <PackageArtifactModel> {
                    shippingPackage, package1, packageWithNoVersion
                },
                Blobs = new List <BlobArtifactModel> {
                    blob1
                }
            };

            packages = new List <PackageArtifactModel>()
            {
                shippingPackage, package1, packageWithNoVersion
            };
            blobs = new List <BlobArtifactModel>()
            {
                blob1
            };
            BuildModel actualModel = pushMetadata.CreateMergedManifestBuildModel(packages, blobs, manifest);

            actualModel.Should().BeEquivalentTo(expectedBuildModel);
        }
        public void CheckIfTheDataIsPreservedAfterMerging()
        {
            BuildModel expectedBuildModel = GetBuildModel();
            PushMetadataToBuildAssetRegistry pushMetadata = GetPushMetadata();

            expectedBuildModel.Artifacts =
                new ArtifactSet
            {
                Packages = new List <PackageArtifactModel> {
                    package1, nonShippingPackage
                },
                Blobs = new List <BlobArtifactModel> {
                    blob1, nonShippingBlob
                }
            };
            expectedBuildModel.Identity.IsStable = true;

            packages = new List <PackageArtifactModel>()
            {
                package1, nonShippingPackage
            };
            blobs = new List <BlobArtifactModel>()
            {
                blob1, nonShippingBlob
            };

            BuildModel actualModel = pushMetadata.CreateMergedManifestBuildModel(packages, blobs, manifest);

            actualModel.Should().BeEquivalentTo(expectedBuildModel);
        }
Exemplo n.º 7
0
        public void NullAssetList_ThrowsNullReferenceException()
        {
            PushMetadataToBuildAssetRegistry pushMetadata = new PushMetadataToBuildAssetRegistry();

            Action act = () =>
                         pushMetadata.AddAsset(null, "testName", "12345", "testLocation", LocationType.None, true);

            act.Should().Throw <NullReferenceException>();
        }
Exemplo n.º 8
0
        public void AssetVersionIsNotNull()
        {
            pushMetadata = SetupGetManifestAsAssetTests();
            pushMetadata.AssetVersion = assetVersion;
            List <BlobArtifactModel> blobs = new List <BlobArtifactModel>();
            var actualBlob = pushMetadata.GetManifestAsAsset(blobs, newManifestName);

            actualBlob.Id.Should().BeEquivalentTo(mergedManifestBlobWhenAssetVersionIsNotNull.Id);
            actualBlob.NonShipping.Should().Be(mergedManifestBlobWhenAssetVersionIsNotNull.NonShipping);
        }
Exemplo n.º 9
0
        public void SetupGetManifestAsAssetTests()
        {
            Mock <IGetEnvProxy> getEnvMock = new Mock <IGetEnvProxy>();

            getEnvMock.Setup(s => s.GetEnv("BUILD_REPOSITORY_NAME")).Returns("thisIsARepo");

            pushMetadata = new PushMetadataToBuildAssetRegistry
            {
                getEnvProxy = getEnvMock.Object
            };
        }
Exemplo n.º 10
0
        public PushMetadataToBuildAssetRegistry SetupGetManifestAsAssetTests()
        {
            Mock <IGetEnvProxy> getEnvMock = new Mock <IGetEnvProxy>();

            getEnvMock.Setup(s => s.GetEnv("BUILD_REPOSITORY_NAME")).Returns(repoName);

            pushMetadata = new PushMetadataToBuildAssetRegistry
            {
                getEnvProxy = getEnvMock.Object
            };
            return(pushMetadata);
        }
Exemplo n.º 11
0
        public void GivenEmptyAssetsList()
        {
            BuildModel expectedBuildModel = GetBuildModel();
            PushMetadataToBuildAssetRegistry pushMetadata = GetPushMetadata();

            BuildModel actualModel = pushMetadata.CreateMergedManifestBuildModel(ImmutableList.Create <AssetData>(), manifestBuildData);

            expectedBuildModel.Artifacts = new ArtifactSet {
            };

            actualModel.Should().BeEquivalentTo(expectedBuildModel);
        }
Exemplo n.º 12
0
        public void EmptyAssetList_NewAssetIsOnlyAssetInList()
        {
            PushMetadataToBuildAssetRegistry pushMetadata = new PushMetadataToBuildAssetRegistry();
            List <AssetData> assetData         = new List <AssetData>();
            AssetData        expectedAssetData = new AssetData(true)
            {
                Name = "testName", Version = "12345", Locations = ImmutableList <AssetLocationData> .Empty.Add(new AssetLocationData(LocationType.None) { Location = "testLocation" })
            };

            pushMetadata.AddAsset(assetData, expectedAssetData.Name, expectedAssetData.Version, "testLocation", LocationType.None, true);
            assetData.Count.Should().Be(1);
            assetData.Should().BeEquivalentTo(expectedAssetData);
        }
        public void SetupGetBuildManifestMetadataTests()
        {
            Mock <IGetEnvProxy> getEnvMock = new Mock <IGetEnvProxy>();

            getEnvMock.Setup(a => a.GetEnv("BUILD_REPOSITORY_NAME")).Returns(RepoName);
            getEnvMock.Setup(b => b.GetEnv("BUILD_BUILDNUMBER")).Returns(AzureDevOpsBuildNumber1);
            getEnvMock.Setup(c => c.GetEnv("BUILD_SOURCEBRANCH")).Returns(AzureDevOpsBranch1);
            getEnvMock.Setup(d => d.GetEnv("BUILD_SOURCEVERSION")).Returns(Commit);
            getEnvMock.Setup(d => d.GetEnv("SYSTEM_TEAMFOUNDATIONCOLLECTIONURI")).Returns(SystemTeamCollectionUri);
            getEnvMock.Setup(d => d.GetEnv("BUILD_BUILDID")).Returns(AzureDevOpsBuildId1.ToString());
            getEnvMock.SetReturnsDefault("MissingEnvVariableCheck!");

            pushMetadata = new PushMetadataToBuildAssetRegistry
            {
                getEnvProxy = getEnvMock.Object
            };
        }
Exemplo n.º 14
0
        private PushMetadataToBuildAssetRegistry GetPushMetadata()
        {
            Mock <IGetEnvProxy> getEnvMock = new Mock <IGetEnvProxy>();

            getEnvMock.Setup(a => a.GetEnv("BUILD_REPOSITORY_NAME")).Returns(buildRepoName);
            getEnvMock.Setup(b => b.GetEnv("BUILD_BUILDNUMBER")).Returns(buildNumber);
            getEnvMock.Setup(c => c.GetEnv("BUILD_SOURCEBRANCH")).Returns(sourceBranch);
            getEnvMock.Setup(d => d.GetEnv("BUILD_SOURCEVERSION")).Returns(commitSourceVersion);
            getEnvMock.SetReturnsDefault("MissingEnvVariableCheck!");

            PushMetadataToBuildAssetRegistry pushMetadata = new PushMetadataToBuildAssetRegistry
            {
                getEnvProxy = getEnvMock.Object
            };

            return(pushMetadata);
        }
        public void CheckIfBlobDataIsPreservedAfterMerging()
        {
            BuildModel expectedBuildModel = GetBuildModel();
            PushMetadataToBuildAssetRegistry pushMetadata = GetPushMetadata();

            packages = new List <PackageArtifactModel>();
            blobs    = new List <BlobArtifactModel>();
            blobs.Add(blob1);

            expectedBuildModel.Artifacts =
                new ArtifactSet
            {
                Blobs = new List <BlobArtifactModel> {
                    blob1
                }
            };
            BuildModel actualModel = pushMetadata.CreateMergedManifestBuildModel(packages, blobs, manifest);

            actualModel.Should().BeEquivalentTo(expectedBuildModel);
        }
        public void GivenMultipleBlobsAllShouldBeMergedIntoBuildModel()
        {
            BuildModel expectedBuildModel = GetBuildModel();
            PushMetadataToBuildAssetRegistry pushMetadata = GetPushMetadata();

            expectedBuildModel.Artifacts =
                new ArtifactSet
            {
                Blobs = new List <BlobArtifactModel> {
                    blob1, nonShippingBlob, mergedManifest, shippingBlob
                }
            };

            packages = new List <PackageArtifactModel>();
            blobs    = new List <BlobArtifactModel>()
            {
                blob1, nonShippingBlob, mergedManifest, shippingBlob
            };

            BuildModel actualModel = pushMetadata.CreateMergedManifestBuildModel(packages, blobs, manifest);

            actualModel.Should().BeEquivalentTo(expectedBuildModel);
        }
 public void SetupGetBuildManifestMetadataTests()
 {
     pushMetadata = new PushMetadataToBuildAssetRegistry();
     pushMetadata.versionIdentifier = new VersionIdentifierMock();
 }
Exemplo n.º 18
0
 public void SetupMergeBuildManifestsTests()
 {
     pushMetadata = new PushMetadataToBuildAssetRegistry();
 }
 public void SetupMergeSigningInfo()
 {
     pushMetadata = new PushMetadataToBuildAssetRegistry();
 }