public void ParseMultipleChangesetSpecs() { string plasticChangesetEnvironVar = "cs:19@br:/main/test2/@rep:codice@repserver:skull.mydomain.com:9095; " + "cs:21@br:/main/test2@rep:codice/osc@repserver:skull.mydomain.com:9095;" + "cs:32@br:/main@rep:xlinked_repo@repserver:myrepo.local:8086"; Changeset firstExpectedChangeset = new Changeset( 19, "/main/test2/", "codice", "skull.mydomain.com:9095"); Changeset secondExpectedChangeset = new Changeset( 21, "/main/test2", "codice/osc", "skull.mydomain.com:9095"); Changeset thirdExpectedChangeset = new Changeset( 32, "/main", "xlinked_repo", "myrepo.local:8086"); List <Changeset> changesets = Changeset.ParsePlasticChangesetEnvironVar(plasticChangesetEnvironVar); Assert.AreEqual(3, changesets.Count); AssertChangesetEquals(firstExpectedChangeset, changesets[0]); AssertChangesetEquals(secondExpectedChangeset, changesets[1]); AssertChangesetEquals(thirdExpectedChangeset, changesets[2]); }
public void ParseSingleChangesetSpec() { string plasticChangesetEnvironVar = "cs:19@br:/main/test2/@rep:codice@repserver:skull.mydomain.com:9095"; Changeset expectedChangeset = new Changeset( 19, "/main/test2/", "codice", "skull.mydomain.com:9095"); List <Changeset> changesets = Changeset.ParsePlasticChangesetEnvironVar(plasticChangesetEnvironVar); Assert.AreEqual(1, changesets.Count); AssertChangesetEquals(expectedChangeset, changesets[0]); }
static void RunAfterCheckin( List <string> filteredRepos, List <string> dstServers, List <RepoMapping> mappings, string csetSpecs, ErrorEmailSender emailSender) { Logger.LogInfo("Running as after-checkin trigger..."); List <Changeset> csets = Changeset.ParsePlasticChangesetEnvironVar(csetSpecs); List <Replica> pendingReplicas = new List <Replica>(); foreach (Changeset cset in csets) { pendingReplicas.AddRange( Replica.BuildPendingReplicas( cset.BranchName, cset.RepositoryName, cset.ServerName, filteredRepos, dstServers, mappings)); } Logger.LogInfo( $"Found {pendingReplicas.Count} destinations to replicate to."); List <Replica> failedReplicas = new List <Replica>(); foreach (Replica pendingReplica in pendingReplicas) { if (!Replicate(pendingReplica)) { failedReplicas.Add(pendingReplica); } } NotifyFailedReplicas( "after-checkin", failedReplicas, emailSender); }