public void DetermineProjectVersionFromMatches_WithMultipleMatchesWithProjects_ReturnsProjectWithHighestVersion() { var highestVersionProject = new RegisteredProjectInfo("project1", null, new Version("2.0")); var lowestVersionProject = new RegisteredProjectInfo("project2", null, new Version("1.0")); var match1 = new FileReleaseInfo("", "", new Version(), null, null, highestVersionProject); var match2 = new FileReleaseInfo("", "", new Version(), null, null, lowestVersionProject); var matches = new List<List<FileReleaseInfo>> { new List<FileReleaseInfo> {match1}, new List<FileReleaseInfo> {match2} }; _projectUpgradeService.RegisteredProjects.Add(0, highestVersionProject); _projectUpgradeService.RegisteredProjects.Add(1, lowestVersionProject); var matchedProject = _projectUpgradeService.DetermineProjectVersionFromMatches(matches); Assert.AreEqual(highestVersionProject, matchedProject); }
public void DetermineProjectVersionFromMatches_WithMatchWithoutProject_DoesNotIncludeProjectlessMatchInResultingCalcuation() { var expectedProject = new RegisteredProjectInfo("project", null, new Version("1.2.3.4")); var matchWithoutProject = new FileReleaseInfo("", "", new Version(), null, null, null); var matchWithProject = new FileReleaseInfo("", "", new Version(), null, null, expectedProject); var matches = new List<List<FileReleaseInfo>> { new List<FileReleaseInfo> {matchWithProject}, new List<FileReleaseInfo> {matchWithoutProject} }; _projectUpgradeService.RegisteredProjects.Add(0, expectedProject); var matchedProject = _projectUpgradeService.DetermineProjectVersionFromMatches(matches); Assert.AreEqual(expectedProject, matchedProject); }
public void DetermineProjectVersionFromMatches_WithElementWithMultipleMatches_DoesNotIncludeMultipleMatchEntriesInResultingCalcuation() { var highestVersionProject = new RegisteredProjectInfo("project1", null, new Version("2.0")); var lowestVersionProject = new RegisteredProjectInfo("project2", null, new Version("1.0")); var match1 = new FileReleaseInfo("", "", new Version(), null, null, highestVersionProject); var match2 = new FileReleaseInfo("", "", new Version(), null, null, highestVersionProject); var match3 = new FileReleaseInfo("", "", new Version(), null, null, lowestVersionProject); var matches = new List<List<FileReleaseInfo>> { new List<FileReleaseInfo> {match1, match2}, new List<FileReleaseInfo> {match3} }; _projectUpgradeService.RegisteredProjects.Add(0, highestVersionProject); _projectUpgradeService.RegisteredProjects.Add(1, lowestVersionProject); var matchedProject = _projectUpgradeService.DetermineProjectVersionFromMatches(matches); Assert.AreEqual(lowestVersionProject, matchedProject); }
public void BuildBaseProject_WithNullBackupFileName_ThrowsArgumentException() { IDirectoryInfo projectBackupDir = MockRepository.GenerateStub<IDirectoryInfo>(); projectBackupDir.Stub(dir => dir.Exists).Return(true); RegisteredProjectInfo projectInfo = new RegisteredProjectInfo(null, null, new Version()); ProjectInstallInfo installInfo = new ProjectInstallInfo(projectInfo, null, null); _projectUpgradeService.BuildBaseProject(installInfo, projectBackupDir, null); }
public void BuildBaseProject_WithNonExistentBackupFile_ThrowsArgumentException() { IDirectoryInfo projectBackupDir = MockRepository.GenerateStub<IDirectoryInfo>(); projectBackupDir.Stub(dir => dir.Exists).Return(true); projectBackupDir.Stub(dir => dir.Exists).Return(true); projectBackupDir.Stub(dir => dir.GetFiles("")).IgnoreArguments().Return(new IFileInfo[] {}); projectBackupDir.Stub(dir => dir.FullName).Return("C:\\"); RegisteredProjectInfo projectInfo = new RegisteredProjectInfo(null, "dummy.zip", new Version()); ProjectInstallInfo installInfo = new ProjectInstallInfo(projectInfo, null, null); _projectUpgradeService.BuildBaseProject(installInfo, projectBackupDir, null); }
public void AddFileToReleaseDb_WithNonNullProjectId_SetsProjectOnFileReleaseInfo() { var projectInfo = new RegisteredProjectInfo("SomeProject", null, new Version("7.5.2.0")); int projectId = (int)_projectUpgradeService.InsertProjectRecord(projectInfo); var connection = _projectUpgradeService.Connection; var url = @"\SomeFolder\blah.txt"; _projectUpgradeService.AddFileToReleaseDb(StubFile(url), new Version(), connection, null, projectId); FileReleaseInfo matchingRelease = _projectUpgradeService.GetReleaseInfoByPath(url).First(); Assert.NotNull(matchingRelease.Project); Assert.AreEqual(projectInfo.Name, matchingRelease.Project.Name); Assert.AreEqual(projectInfo.Version, matchingRelease.Project.Version); }