public void EnsureClone_NotFlexProject_SetsRecoverableError() { // Setup var projectDir = Path.Combine(_env.Settings.WebWorkDirectory, _projectCode); Directory.CreateDirectory(projectDir); var lfProject = LanguageForgeProject.Create(_projectCode); var action = new EnsureCloneActionDoubleMockErrorCondition(_env.Settings, _env.Logger, _mongoProjectRecordFactory, _mongoConnection, "Clone failure: clone is not a FLEx project: Clone deleted."); // Execute action.Run(lfProject); // Verify Assert.That(lfProject.State.SRState, Is.EqualTo(ProcessingState.SendReceiveStates.ERROR)); Assert.That(lfProject.State.ErrorCode, Is.EqualTo((int)ProcessingState.ErrorCodes.NoFlexProject)); Assert.That(lfProject.State.ErrorMessage, Is.EqualTo(string.Format("Recoverable error during initial clone of {0}: Clone failure: clone is not a FLEx project: Clone deleted.", _projectCode))); }
public void EnsureClone_CloneEmptyRepo_SetsRecoverableError() { // Setup var projectDir = Path.Combine(_env.Settings.WebWorkDirectory, _projectCode); Directory.CreateDirectory(projectDir); var lfProject = LanguageForgeProject.Create(_projectCode); var action = new EnsureCloneActionDoubleMockErrorCondition(_env.Settings, _env.Logger, _mongoProjectRecordFactory, _mongoConnection, "Clone failure: new repository with no commits. Clone deleted."); // Execute action.Run(lfProject); // Verify Assert.That(lfProject.State.SRState, Is.EqualTo(ProcessingState.SendReceiveStates.ERROR)); Assert.That(lfProject.State.ErrorCode, Is.EqualTo((int)ProcessingState.ErrorCodes.EmptyProject)); Assert.That(lfProject.State.ErrorMessage, Is.EqualTo( $"Recoverable error during initial clone of {_projectCode}: Clone failure: new repository with no commits. Clone deleted.")); }