async Task ImportVstsReleasesDataAsync(ReleaseManagement releaseManagement, string branch, ReleaseDefinitionId releaseDefinitionId) { Console.WriteLine($"Import VSTS releases from branch [{branch}] started at {DateTime.UtcNow}."); SqlConnection sqlConnection = null; try { sqlConnection = new SqlConnection(this.dbConnectionString); sqlConnection.Open(); List <IoTEdgeRelease> releaseResults = await releaseManagement.GetReleasesAsync(releaseDefinitionId, branch, 200); Console.WriteLine($"Query VSTS releases for branch [{branch}] and release definition [{releaseDefinitionId.ToString()}]: result count={releaseResults.Count} at {DateTime.UtcNow}."); int releaseCount = 0; foreach (IoTEdgeRelease release in releaseResults.Where(r => r.HasResult())) { UpsertVstsReleaseToDb(sqlConnection, release); foreach (KeyValuePair <int, string> kvp in ReleaseEnvironment.DefinitionIdToDisplayNameMapping) { IoTEdgeReleaseEnvironment releaseEnvironment = release.GetEnvironment(kvp.Key); if (releaseEnvironment.HasResult()) { UpsertVstsReleaseEnvironmentToDb(sqlConnection, release.Id, releaseEnvironment, kvp.Value); foreach (IoTEdgeReleaseDeployment deployment in releaseEnvironment.Deployments) { UpsertVstsReleaseDeploymentToDb(sqlConnection, releaseEnvironment.Id, deployment); const string testTaskPrefix = "Test:"; foreach (IoTEdgePipelineTask pipelineTask in deployment.Tasks.Where(x => IsTestTask(x, testTaskPrefix))) { UpsertVstsReleaseTaskToDb(sqlConnection, deployment.Id, pipelineTask, testTaskPrefix); } } } } releaseCount++; if (releaseCount % 10 == 0) { Console.WriteLine($"Query VSTS releases for branch [{branch}] and release definition [{releaseDefinitionId.ToString()}]: release count={releaseCount} at {DateTime.UtcNow}."); } } } catch (Exception) { throw; } finally { sqlConnection?.Close(); } }
public void TestProperties() { var release = new IoTEdgeRelease( 123213, ReleaseDefinitionId.E2ETest, "test-release", "branch1", VstsReleaseStatus.Active, new Uri("http://abc.com/test/uri"), new HashSet <IoTEdgeReleaseEnvironment> { new IoTEdgeReleaseEnvironment(3423, 8790, "Any name", VstsEnvironmentStatus.NotStarted, new HashSet <IoTEdgeReleaseDeployment>()), new IoTEdgeReleaseEnvironment(784, 23903, "Any name", VstsEnvironmentStatus.InProgress, new HashSet <IoTEdgeReleaseDeployment>()) }); Assert.AreEqual(123213, release.Id); Assert.AreEqual(ReleaseDefinitionId.E2ETest, release.DefinitionId); Assert.AreEqual("test-release", release.Name); Assert.AreEqual("http://abc.com/test/uri", release.WebUri.AbsoluteUri); Assert.AreEqual(2, release.NumberOfEnvironments); IoTEdgeReleaseEnvironment env1 = release.GetEnvironment(8790); Assert.AreEqual(3423, env1.Id); IoTEdgeReleaseEnvironment env2 = release.GetEnvironment(23903); Assert.AreEqual(784, env2.Id); }
public void TestCreateEnvironmentWithNoResult() { IoTEdgeReleaseEnvironment releaseEnv = IoTEdgeReleaseEnvironment.CreateEnvironmentWithNoResult(38942); Assert.AreEqual(0, releaseEnv.Id); Assert.AreEqual(38942, releaseEnv.DefinitionId); Assert.AreEqual(VstsEnvironmentStatus.Undefined, releaseEnv.Status); }
public void TestProperties() { var releaseEnv = new IoTEdgeReleaseEnvironment(3242, 343406, "AMD64", VstsEnvironmentStatus.Queued); Assert.AreEqual(3242, releaseEnv.Id); Assert.AreEqual(343406, releaseEnv.DefinitionId); Assert.AreEqual(VstsEnvironmentStatus.Queued, releaseEnv.Status); }
public void TestCreate() { var vstsReleaseEnv = new VstsReleaseEnvironment { Id = 83429, DefinitionId = 2349080, Status = VstsEnvironmentStatus.Rejected }; IoTEdgeReleaseEnvironment releaseEnv = IoTEdgeReleaseEnvironment.Create(vstsReleaseEnv); Assert.AreEqual(83429, releaseEnv.Id); Assert.AreEqual(2349080, releaseEnv.DefinitionId); Assert.AreEqual(VstsEnvironmentStatus.Rejected, releaseEnv.Status); }
public void TestGetEnvironment() { var release = new IoTEdgeRelease( 123213, 343406, "test-release", new Uri("http://abc.com/test/uri"), new HashSet <IoTEdgeReleaseEnvironment> { new IoTEdgeReleaseEnvironment(3423, 8790, VstsEnvironmentStatus.NotStarted), new IoTEdgeReleaseEnvironment(784, 23903, VstsEnvironmentStatus.InProgress), new IoTEdgeReleaseEnvironment(38934, 23903, VstsEnvironmentStatus.Succeeded) }); Assert.AreEqual(3423, release.GetEnvironment(8790).Id); Assert.AreEqual(784, release.GetEnvironment(23903).Id); Assert.AreEqual(IoTEdgeReleaseEnvironment.CreateEnvironmentWithNoResult(9999), release.GetEnvironment(9999)); }
public void TestGetEnvironment() { var release = new IoTEdgeRelease( 123213, ReleaseDefinitionId.E2ETest, "test-release", "branch1", VstsReleaseStatus.Active, new Uri("http://abc.com/test/uri"), new HashSet <IoTEdgeReleaseEnvironment> { new IoTEdgeReleaseEnvironment(3423, 8790, "Any name", VstsEnvironmentStatus.NotStarted, new HashSet <IoTEdgeReleaseDeployment>()), new IoTEdgeReleaseEnvironment(784, 23903, "Any name", VstsEnvironmentStatus.InProgress, new HashSet <IoTEdgeReleaseDeployment>()), new IoTEdgeReleaseEnvironment(38934, 23903, "Any name", VstsEnvironmentStatus.Succeeded, new HashSet <IoTEdgeReleaseDeployment>()) }); Assert.AreEqual(3423, release.GetEnvironment(8790).Id); Assert.AreEqual(784, release.GetEnvironment(23903).Id); Assert.AreEqual(IoTEdgeReleaseEnvironment.CreateEnvironmentWithNoResult(9999), release.GetEnvironment(9999)); }
public void TestEquals() { var releaseEnv1 = new IoTEdgeReleaseEnvironment(3242, 343406, "Linux AMD64", VstsEnvironmentStatus.Queued); var releaseEnv2 = new IoTEdgeReleaseEnvironment(3242, 343406, "Linux AMD64", VstsEnvironmentStatus.Queued); var releaseEnv3 = new IoTEdgeReleaseEnvironment(9708, 343406, "Linux ARM64", VstsEnvironmentStatus.Queued); var releaseEnv4 = new IoTEdgeReleaseEnvironment(3242, 84893, "Windows X64", VstsEnvironmentStatus.Queued); var releaseEnv5 = new IoTEdgeReleaseEnvironment(3242, 343406, "Windows Server Core", VstsEnvironmentStatus.Succeeded); Assert.False(releaseEnv1.Equals(null)); Assert.True(releaseEnv1.Equals(releaseEnv1)); Assert.True(releaseEnv1.Equals(releaseEnv2)); Assert.False(releaseEnv1.Equals((object)null)); Assert.True(releaseEnv1.Equals((object)releaseEnv1)); Assert.True(releaseEnv1.Equals((object)releaseEnv2)); Assert.False(releaseEnv1.Equals(new object())); Assert.False(releaseEnv1.Equals(releaseEnv3)); Assert.False(releaseEnv1.Equals(releaseEnv4)); Assert.False(releaseEnv1.Equals(releaseEnv5)); }
async Task ImportVstsReleasesDataAsync(ReleaseManagement releaseManagement, string branch, ReleaseDefinitionId releaseDefinitionId) { SqlConnection sqlConnection = null; try { sqlConnection = new SqlConnection(this.dbConnectionString); sqlConnection.Open(); List <IoTEdgeRelease> releaseResults = await releaseManagement.GetReleasesAsync(releaseDefinitionId, branch, 200); Console.WriteLine($"Query VSTS for branch [{branch}] and release definition [{releaseDefinitionId.ToString()}]: result count={releaseResults.Count}"); foreach (IoTEdgeRelease release in releaseResults.Where(r => r.HasResult())) { UpsertVstsReleaseToDb(sqlConnection, release); foreach (KeyValuePair <int, string> kvp in ReleaseEnvironment.DefinitionIdToDisplayNameMapping) { IoTEdgeReleaseEnvironment releaseEnvironment = release.GetEnvironment(kvp.Key); if (releaseEnvironment.HasResult()) { UpsertVstsReleaseEnvironmentToDb(sqlConnection, release.Id, releaseEnvironment, kvp.Value); } } } } catch (Exception) { throw; } finally { sqlConnection?.Close(); } }
public void TestEquals() { DateTime deploymentStartTime = DateTime.UtcNow; var releaseEnv1 = new IoTEdgeReleaseEnvironment(3242, 343406, "Linux AMD64", VstsEnvironmentStatus.Queued, TestUtil.GetDeployments(1, deploymentStartTime)); var releaseEnv2 = new IoTEdgeReleaseEnvironment(3242, 343406, "Linux AMD64", VstsEnvironmentStatus.Queued, TestUtil.GetDeployments(1, deploymentStartTime)); var releaseEnv3 = new IoTEdgeReleaseEnvironment(9708, 343406, "Linux ARM64", VstsEnvironmentStatus.Queued, TestUtil.GetDeployments(1, deploymentStartTime)); var releaseEnv4 = new IoTEdgeReleaseEnvironment(3242, 84893, "Windows X64", VstsEnvironmentStatus.Queued, TestUtil.GetDeployments(1, deploymentStartTime)); var releaseEnv5 = new IoTEdgeReleaseEnvironment(3242, 343406, "Windows Server Core", VstsEnvironmentStatus.Succeeded, TestUtil.GetDeployments(1, deploymentStartTime)); var releaseEnv6 = new IoTEdgeReleaseEnvironment(3242, 343406, "Windows Server Core", VstsEnvironmentStatus.Succeeded, TestUtil.GetDeployments(2, deploymentStartTime)); Assert.False(releaseEnv1.Equals(null)); Assert.True(releaseEnv1.Equals(releaseEnv1)); Assert.True(releaseEnv1.Equals(releaseEnv2)); Assert.False(releaseEnv1.Equals((object)null)); Assert.True(releaseEnv1.Equals((object)releaseEnv1)); Assert.True(releaseEnv1.Equals((object)releaseEnv2)); Assert.False(releaseEnv1.Equals(new object())); Assert.False(releaseEnv1.Equals(releaseEnv3)); Assert.False(releaseEnv1.Equals(releaseEnv4)); Assert.False(releaseEnv1.Equals(releaseEnv5)); Assert.False(releaseEnv5.Equals(releaseEnv6)); }
void UpsertVstsReleaseEnvironmentToDb(SqlConnection sqlConnection, int releaseId, IoTEdgeReleaseEnvironment environment, string envrionmentName) { var cmd = new SqlCommand { Connection = sqlConnection, CommandType = System.Data.CommandType.StoredProcedure, CommandText = "UpsertVstsReleaseEnvironment" }; cmd.Parameters.Add(new SqlParameter("@Id", environment.Id)); cmd.Parameters.Add(new SqlParameter("@ReleaseId", releaseId)); cmd.Parameters.Add(new SqlParameter("@DefinitionId", environment.DefinitionId)); cmd.Parameters.Add(new SqlParameter("@DefinitionName", envrionmentName)); cmd.Parameters.Add(new SqlParameter("@Status", environment.Status.ToString())); cmd.ExecuteNonQuery(); }
public void TestGetHashCode() { var releaseEnv = new IoTEdgeReleaseEnvironment(3242, 343406, "Any Name", VstsEnvironmentStatus.Queued); Assert.AreEqual(3242, releaseEnv.GetHashCode()); }