public void IsMigrationItemEqualsToHistory() { //arrange var step = new TestStep(ExecutionResult.Success); var positiveCaseStepName = MigrationHandler.StepIdentity(step); var positiveCaseVersion = new Version("1.2.3.4"); var negativeCaseVersion = new Version("4.3.2.1"); var migrationItem = new MigrationItem(positiveCaseVersion, new TestStep(ExecutionResult.Success)); var migrationHistory = new MigrationHistory { Name = positiveCaseStepName, Version = positiveCaseVersion.ToString() }; //act var positiveCase = MigrationHandler.IsMigrationItemEqualsToHistory(migrationItem, migrationHistory); migrationHistory.Version = negativeCaseVersion.ToString(); var negativeCase1 = MigrationHandler.IsMigrationItemEqualsToHistory(migrationItem, migrationHistory); migrationHistory.Version = positiveCaseVersion.ToString(); migrationHistory.Name = String.Empty; var negativeCase2 = MigrationHandler.IsMigrationItemEqualsToHistory(migrationItem, migrationHistory); //assert Assert.True(positiveCase && !negativeCase1 && !negativeCase2); }
private static void HandleDbMigration() { var methods = typeof(MigrationItems).GetMethods(BindingFlags.Static | BindingFlags.Public).ToList(); var migrationTableName = ConfigurationSettings.AppSettings["migrationTableName"]; string connStr = (new object()).GetConnectionString(); MigrationHandler.Perform(connStr, migrationTableName, methods); }
public LdmlVersion0MigrationStrategy(MigrationHandler migrationHandler, IAuditTrail auditLog, int fromVersion) : base(fromVersion, 2) { Guard.AgainstNull(migrationHandler, "migrationCallback must be set"); _migrationInfo = new List<MigrationInfo>(); _writingSystemsV1 = new Dictionary<string, WritingSystemDefinitionV1>(); _migrationHandler = migrationHandler; _auditLog = auditLog; }
public LdmlVersion0MigrationStrategy( MigrationHandler migrationHandler, IAuditTrail auditLog, int fromVersion, WritingSystemCompatibility roundtripBogusFlex70PrivateUse) : this(migrationHandler, auditLog, fromVersion) { _roundTripBogusFlex70PrivateUse = roundtripBogusFlex70PrivateUse; }
public LdmlVersion0MigrationStrategy(MigrationHandler migrationHandler, IAuditTrail auditLog, int fromVersion) : base(fromVersion, 2) { Guard.AgainstNull(migrationHandler, "migrationCallback must be set"); _migrationInfo = new List <MigrationInfo>(); _writingSystemsV1 = new Dictionary <string, WritingSystemDefinitionV1>(); _migrationHandler = migrationHandler; _auditLog = auditLog; }
private static void Main(string[] args) { //throw new UnauthorizedAccessException("This migration is complete dont run twice."); Console.WriteLine("Starting migration"); var bus = new DomainBus(); var destinationStorage = new RaventEventStorage(new ServerStoreFactory("RavenHq"), bus); var handler = new MigrationHandler(destinationStorage); bus.RegisterHandler(()=>handler); new RaventEventStorage(new ServerStoreFactory(), bus); Console.WriteLine("Migration complete"); Console.ReadKey(); }
public bool GetSteps_HistoryIsEmpty(NonNegativeInt stepsCount) { //arrange var(_, steps) = MigrationTestsContext.GenerateMigrationState(stepsCount.Item, missingCount: 0); //act var result = MigrationHandler.GetSteps(steps, allHistory: new List <MigrationHistory>(), lastLegacyMigrationVersion: new Version("1.1.1.1")); var originalVersions = steps.Select(x => x.Version.ToString()); var filteredVersions = result.Select(r => r.Version.ToString()); //assert return(originalVersions.SequenceEqual(filteredVersions)); }
public bool TryExecuteSteps_WithoutFailure(NonNegativeInt stepsCount) { //arrange var(_, steps) = MigrationTestsContext.GenerateMigrationState(0, stepsCount); //act var(executionHistory, executionResult) = MigrationHandler.TryExecuteSteps(steps); var originalVersions = steps.Select(x => x.Version.ToString()); var executedVersions = executionHistory.Reverse().Select(r => r.Version.ToString()); //assert return(executionResult.Type is ExecutionResultType.Success && originalVersions.SequenceEqual(executedVersions)); }
public void ApplyPermissionMigration() { var migrationVersion = new Version("1.3"); var stepIdentity = typeof(SetupDefaultMemberGroupsPermissionsStep).Name; if (!_migrationHistoryService.Exists(stepIdentity, migrationVersion)) { var step = DependencyResolver.Current.GetService <SetupDefaultMemberGroupsPermissionsStep>(); var migrationItem = new MigrationItem(migrationVersion, step); var(executionHistory, executionResult) = MigrationHandler.TryExecuteSteps(migrationItem.AsEnumerableOfOne()); if (executionResult.Type is ExecutionResultType.Success) { _migrationHistoryService.Create(MigrationHandler.ToMigrationHistory(executionHistory)); } } }
public PremiumMigrationForm() { InitializeComponent(); var assemblyResolver = new AssemblyResolver(); assemblyResolver.Resolve(); _requestHandler = new WebRequestHandler(); _viewState = new FormViewState(environmentCbox, messageTypeCbox, migrationTypeCbox, usernameTbox); _viewState.FillComboBoxes(); _migrationHandler = new MigrationHandler(_requestHandler, _viewState); Text = string.Format("Premium Migration v{0}.{1}", _viewState.ApplicationVersion.Major, _viewState.ApplicationVersion.Minor); }
public Property GetMissingSteps(NonNegativeInt present, NonNegativeInt missing) { bool Predicate() { //arrange var(history, steps) = MigrationTestsContext.GenerateMigrationState(present, missing); //act var result = MigrationHandler.GetMissingSteps(steps, history, steps[present.Item - 1].Version); var originalVersions = steps.Skip(present.Item).Select(x => x.Version.ToString()); var filteredVersions = result.Select(r => r.Version.ToString()); //assert return(originalVersions.SequenceEqual(filteredVersions)); } return(new Func <bool>(Predicate).When(present.Item > 0)); }
public Property TryExecuteSteps_WithFailure(NonNegativeInt stepsCount, NonNegativeInt failurePosition) { bool Predicate() { //arrange var(_, steps) = MigrationTestsContext.GenerateMigrationState(0, stepsCount); steps[failurePosition.Item - 1] = MigrationTestsContext.MigrationItem(steps[failurePosition.Item - 1].Version, ExecutionResult.Failure(null)); //act var(executionHistory, executionResult) = MigrationHandler.TryExecuteSteps(steps); var originalVersions = steps.Take(failurePosition.Item).Select(x => x.Version.ToString()); var executedVersions = executionHistory.Reverse().Select(r => r.Version.ToString()); //assert return(executionResult.Type is ExecutionResultType.Failure && originalVersions.SequenceEqual(executedVersions)); } return(new Func <bool>(Predicate).When(stepsCount.Item >= failurePosition.Item && failurePosition.Item > 0)); }
public Property GetSteps_HistoryIsNotEmpty(NonNegativeInt present, NonNegativeInt missing, NonNegativeInt lastLegacyMigrationVersionNumber) { bool Predicate() { //arrange var(history, steps) = MigrationTestsContext.GenerateMigrationState(present, missing); var lastLegacyMigrationVersion = steps[lastLegacyMigrationVersionNumber.Item - 1]; //act var result = MigrationHandler.GetSteps(steps, history, lastLegacyMigrationVersion.Version); var originalVersions = steps.Skip(present.Item).Select(x => x.Version.ToString()); var filteredVersions = result.Select(r => r.Version.ToString()); //assert return(originalVersions.SequenceEqual(filteredVersions)); } return(new Func <bool>(Predicate).When( present.Item > 0 && lastLegacyMigrationVersionNumber.Item > 0 && lastLegacyMigrationVersionNumber.Item <= present.Item + missing.Item && lastLegacyMigrationVersionNumber.Item >= present.Item)); }
public static MigrationHistory MigrationHistory(Version ver) => new MigrationHistory { Name = MigrationHandler.StepIdentity(new TestStep(ExecutionResult.Success)), Version = ver.ToString() };