public async Task IntiFlowTransition_WithCorrectModel_MustInitialize() { //Arrange var stateManager = new MockState().MockStateManager(); var flowManager = new ManagerFactory().GetFlowManager(stateManager); var flowType = MockData.GetFlowTypes()[0]; var approve1State = MockData.GetFlowStates() .ToList().FirstOrDefault(x => x.Name == "Approve1"); var activeState = MockData.GetFlowStates() .ToList().FirstOrDefault(x => x.Name == "Active"); var initModel = new InitFlowTransitionModel() { Name = "FinalApprove", Title = "FinalApprove", SourceId = approve1State.Id, DestinationId = activeState.Id, TransitionType = FlowTransitionTypes.Reject, TypeId = flowType.Id }; //Act var act = await flowManager.InitFlowTransitionAsync(initModel); //Assert LogTestInfo(initModel, act); Assert.True(act.Succeeded); Assert.NotNull(act.Result); }
public async Task MoveStep_WithCorrectModel_MustHaveMoveAStep() { //Arrange var stateManager = new MockState().MockStateManager(); var instance = MockData.GetFlowInstances().FirstOrDefault(); var flowManager = new ManagerFactory().GetFlowManager(stateManager); var flowReportManager = new ManagerFactory().GetFlowReportManager(stateManager); var existTransitions = await flowReportManager.GetInstanceTransitionsAsync(instance.Id); var targetTransition = existTransitions.Result.FirstOrDefault(); var moveModel = new MoveModel() { IdentityId = "1", InstanceId = instance.Id, Payload = string.Empty, TransitionId = targetTransition.Id, Comment = "Sure, It's ok.", }; //Act var act = await flowManager.MoveAsync(moveModel); var steps = await flowReportManager.GetInstanceStepsAsync(instance.Id); var currentStep = steps.Result.FirstOrDefault(x => x.IsCurrent); //Assert LogTestInfo(moveModel, act); Assert.True(act.Succeeded); Assert.NotNull(act.Result); Assert.Equal(moveModel.TransitionId, currentStep.TransitionId); }
public async Task FlowInstance_CorrectCreation_MustHaveInitializingStep() { //Arrange var stateManager = new MockState().MockStateManager(); var flowManager = new ManagerFactory().GetFlowManager(stateManager); var initModel = new InitFlowModel() { TypeId = MockData.GetFlowTypes()[0].Id, AccessPhrase = "secure", InitializerId = "1", Payload = "null", Title = "Hire devlnull" }; //Act var act = await flowManager.InitFlowAsync(initModel); var flowReportManager = new ManagerFactory().GetFlowReportManager(stateManager); var steps = await flowReportManager.GetInstanceStepsAsync(act.Result.Id); //Assert LogTestInfo(initModel, act); Assert.True(act.Succeeded); Assert.NotNull(act.Result); Assert.NotEmpty(steps.Result); }
public async Task ActionExemple() { IStore store = new Store(); var state = new MockState(); var getters = new MockGetters(); var mutation = new MockMutation(); var actions = new MockActions(); store.Register(state) .Register(getters) .Register(mutation) .Register(actions); store.Commit("Increment", 50); var ret1 = await store.Dispatch <int, int>("Increment", 15); //await store.Dispatch("Teste", "IncrementTeste"); //var ret2 = await store.Dispatch<int>("Teste", "Increment"); var ret = store.Getters <int>("GetValue"); Assert.Equal(100, ret); }
public async Task GetPagedFlowTypesByEntityType_WithMockEntityType_MustReturnBindType() { //Arrange var stateManager = new MockState().MockStateManager(); var reportManager = new ManagerFactory().GetFlowReportManager(stateManager); var targetTypes = MockData.GetFlowTypes() .Where(x => x.EntityType.Equals(typeof(MockState).FullName)) .ToArray(); //Act var act = await reportManager.GetPagedTypesByEntityAsync( typeof(MockState), new PageOptions() { Limit = 10, Offset = 0 }); //Assert LogTestInfo(result: act); Assert.True(act.Succeeded); Assert.NotNull(act.Result); Assert.Contains(act.Result.Items, x => x.States.Any()); Assert.Equal(targetTypes.Length, act.Result.Count); }
public async Task IntiFlowTransition_WithExistingTransition_MustInitializeAndWarn() { //Arrange var stateManager = new MockState().MockStateManager(); var flowManager = new ManagerFactory().GetFlowManager(stateManager); var flowType = MockData.GetFlowTypes()[0]; var reviewState = MockData.GetFlowStates() .ToList().FirstOrDefault(x => x.Name == "Review"); var closeState = MockData.GetFlowStates() .ToList().FirstOrDefault(x => x.Name == "Close"); var initModel = new InitFlowTransitionModel() { Name = "RejectTest", Title = "RejectTest", SourceId = reviewState.Id, DestinationId = closeState.Id, TransitionType = FlowTransitionTypes.Reject, TypeId = flowType.Id }; //Act var act = await flowManager.InitFlowTransitionAsync(initModel); //Assert LogTestInfo(initModel, act); Assert.True(act.Succeeded); Assert.NotEmpty(act.Warns); }
public async Task MoveStep_WithIncorrectTarget_MustNotMove() { //Arrange var stateManager = new MockState().MockStateManager(); var instance = MockData.GetFlowInstances().FirstOrDefault(); var flowManager = new ManagerFactory().GetFlowManager(stateManager); var flowReportManager = new ManagerFactory().GetFlowReportManager(stateManager); var existTransitions = await flowReportManager.GetInstanceTransitionsAsync(instance.Id); var transitions = existTransitions.Result.Select(x => x.Id).ToList(); var targetTransition = MockData.GetFlowTransitions() .FirstOrDefault(x => transitions.Contains(x.Id) == false); var moveModel = new MoveModel() { IdentityId = "1", InstanceId = instance.Id, Payload = string.Empty, TransitionId = targetTransition.Id, Comment = "Sure, It's ok.", }; //Act var act = await flowManager.MoveAsync(moveModel); //Assert LogTestInfo(moveModel, act); Assert.False(act.Succeeded); Assert.NotEmpty(act.Errors); }
public Dispose() { MockState1 = new MockState <int>(); MockState2 = new MockState <int>(); Subject = new FluxorLayoutWithStateProperties { State1 = MockState1, State2 = MockState2 }; }
public OnInitialized() { MockState1 = new MockState <int>(); MockState2 = new MockState <int>(); Subject = new FluxorLayoutWithStateProperties { State1 = MockState1, State2 = MockState2 }; }
internal async Task Startup(MockState state) { // Read and skip the startup message await SkipMessage(); WriteAuthenticateOk(); WriteParameterStatuses(new Dictionary <string, string> { { "server_version", "13" }, { "server_encoding", "UTF8" }, { "client_encoding", "UTF8" }, { "application_name", "Mock" }, { "is_superuser", "on" }, { "session_authorization", "foo" }, { "DateStyle", "ISO, MDY" }, { "IntervalStyle", "postgres" }, { "TimeZone", "UTC" }, { "integer_datetimes", "on" }, { "standard_conforming_strings", "on" } }); WriteBackendKeyData(ProcessId, BackendSecret); WriteReadyForQuery(); await FlushAsync(); if (state != MockState.MultipleHostsDisabled) { var isStandby = state == MockState.Standby; var transactionReadOnly = state == MockState.Standby || state == MockState.PrimaryReadOnly ? "on" : "off"; // Write the response on the mock is primary/standby/read-write/read-only await ExpectMessages( FrontendMessageCode.Parse, FrontendMessageCode.Bind, FrontendMessageCode.Describe, FrontendMessageCode.Execute, FrontendMessageCode.Parse, FrontendMessageCode.Bind, FrontendMessageCode.Describe, FrontendMessageCode.Execute, FrontendMessageCode.Sync); await WriteParseComplete() .WriteBindComplete() .WriteRowDescription(new FieldDescription(PostgresTypeOIDs.Bool)) .WriteDataRow(BitConverter.GetBytes(isStandby)) .WriteCommandComplete() .WriteParseComplete() .WriteBindComplete() .WriteRowDescription(new FieldDescription(PostgresTypeOIDs.Text)) .WriteDataRow(Encoding.ASCII.GetBytes(transactionReadOnly)) .WriteCommandComplete() .WriteReadyForQuery() .FlushAsync(); } }
public DisposeTests() { MockState1 = new MockState <int>(); MockState2 = new MockState <int>(); Subject = new FluxorComponentWithStateProperties { State1 = MockState1, State2 = MockState2 }; }
public OnInitializedTests() { MockState1 = new MockState <int>(); MockState2 = new MockState <int>(); Subject = new FluxorComponentWithStateProperties { State1 = MockState1, State2 = MockState2 }; }
public async Task InMemoryStateManager_Initializer_CanGetFlowSet() { //Arrange var stateManager = new MockState().MockStateManager(); //Act var flowSet = stateManager.GetFlowSet <FlowInstance>(); //Assert var result = await flowSet.GetAllAsync(); Assert.NotNull(result); }
public async Task GetFlowStateById_WithWrongId_MustNotReturnState() { //Arrange var stateManager = new MockState().MockStateManager(); var reportManager = new ManagerFactory().GetFlowReportManager(stateManager); var id = Guid.NewGuid(); //Act var act = await reportManager.GetStateByIdAsync(id); //Assert Assert.False(act.Succeeded); Assert.Null(act.Result); LogTestInfo(new { Request = id }, act); }
public async Task GetFlowInstance_WithWrongExp_MustNotReturnInstance() { //Arrange var stateManager = new MockState().MockStateManager(); var reportManager = new ManagerFactory().GetFlowReportManager(stateManager); var id = Guid.NewGuid(); //Act var act = await reportManager.GetInstanceAsync(x => x.Id == id); //Assert LogTestInfo(new { Request = id }, act); Assert.False(act.Succeeded); Assert.Null(act.Result); }
public async Task GetFlowStateById_WithCorrectId_MustReturnState() { //Arrange var stateManager = new MockState().MockStateManager(); var reportManager = new ManagerFactory().GetFlowReportManager(stateManager); var targetState = MockData.GetFlowStates()[0]; //Act var act = await reportManager.GetStateByIdAsync(targetState.Id); //Assert Assert.True(act.Succeeded); Assert.NotNull(act.Result); LogTestInfo(new { Request = targetState.Id }, act); }
public async Task GetFlowState_WithWrongExp_MustNotReturnState() { //Arrange var stateManager = new MockState().MockStateManager(); var reportManager = new ManagerFactory().GetFlowReportManager(stateManager); var targetState = MockData.GetFlowStates()[0]; //Act var act = await reportManager .GetStateAsync(x => x.Name == Guid.NewGuid().ToString()); //Assert Assert.False(act.Succeeded); Assert.Null(act.Result); LogTestInfo(new { Request = targetState.Id }, act); }
public async Task GetFlowInstance_WithCorrectExp_MustReturnInstance() { //Arrange var stateManager = new MockState().MockStateManager(); var reportManager = new ManagerFactory().GetFlowReportManager(stateManager); var targetInstance = MockData.GetFlowInstances()[0]; //Act var act = await reportManager.GetInstanceAsync(x => x.Id.Equals(targetInstance.Id)); //Assert LogTestInfo(new { Request = targetInstance.Id }, act); Assert.True(act.Succeeded); Assert.NotNull(act.Result); }
public void MutationExemple() { var store = new Store(); var state = new MockState(); var mutation = new MockMutation(); store.Register(state). Register(mutation); store.Commit("Increment", 50); Assert.Equal(50, state.Value); }
public async Task GetFlowTypes_WithNoArgs_MustReturnAllTypes() { //Arrange var stateManager = new MockState().MockStateManager(); var reportManager = new ManagerFactory().GetFlowReportManager(stateManager); var targetTypes = MockData.GetFlowTypes(); //Act var act = await reportManager.GetTypesAsync(); //Assert LogTestInfo(result: act); Assert.True(act.Succeeded); Assert.NotNull(act.Result); Assert.Contains(act.Result, x => x.States.Any()); Assert.Equal(targetTypes.Length, act.Result.Count()); }
public async Task IntiFlowType_WithFillName_InitializeNewType() { //Arrange var stateManager = new MockState().MockStateManager(); var flowManager = new ManagerFactory().GetFlowManager(stateManager); var initModel = new InitFlowTypeModel() { Name = "Test", EntityPayloadType = typeof(FlowTypeInitializersTests), EntityType = typeof(FlowTypeInitializersTests), }; //Act var act = await flowManager.InitFlowTypeAsync(initModel); //Assert LogTestInfo(initModel, act); Assert.True(act.Succeeded); }
public async Task IntiFlowType_EmptyModel_MustError() { //Arrange var stateManager = new MockState().MockStateManager(); var flowManager = new ManagerFactory().GetFlowManager(stateManager); var initModel = new InitFlowTypeModel() { Name = null, EntityPayloadType = null, EntityType = null, }; //Act var act = await flowManager.InitFlowTypeAsync(initModel); //Assert LogTestInfo(initModel, act); Assert.False(act.Succeeded); }
internal Task SendMockState(MockState state) { var isStandby = state == MockState.Standby; var transactionReadOnly = state == MockState.Standby || state == MockState.PrimaryReadOnly ? "on" : "off"; return(WriteParseComplete() .WriteBindComplete() .WriteRowDescription(new FieldDescription(PostgresTypeOIDs.Bool)) .WriteDataRow(BitConverter.GetBytes(isStandby)) .WriteCommandComplete() .WriteParseComplete() .WriteBindComplete() .WriteRowDescription(new FieldDescription(PostgresTypeOIDs.Text)) .WriteDataRow(Encoding.ASCII.GetBytes(transactionReadOnly)) .WriteCommandComplete() .WriteReadyForQuery() .FlushAsync()); }
public async Task IntiFlowType_DuplicateName_MustError() { //Arrange var stateManager = new MockState().MockStateManager(); var flowManager = new ManagerFactory().GetFlowManager(stateManager); var existType = MockData.GetFlowTypes()[0]; var initModel = new InitFlowTypeModel() { Name = existType.Name, EntityPayloadType = typeof(FlowTypeInitializersTests), EntityType = typeof(FlowTypeInitializersTests), }; //Act var act = await flowManager.InitFlowTypeAsync(initModel); //Assert LogTestInfo(initModel, act); Assert.False(act.Succeeded); }
internal async Task Startup(bool expectClusterStateQuery, MockState state) { // Read and skip the startup message await SkipMessage(); WriteAuthenticateOk(); WriteParameterStatuses(new Dictionary <string, string> { { "server_version", "13" }, { "server_encoding", "UTF8" }, { "client_encoding", "UTF8" }, { "application_name", "Mock" }, { "is_superuser", "on" }, { "session_authorization", "foo" }, { "DateStyle", "ISO, MDY" }, { "IntervalStyle", "postgres" }, { "TimeZone", "UTC" }, { "integer_datetimes", "on" }, { "standard_conforming_strings", "on" } }); WriteBackendKeyData(ProcessId, BackendSecret); WriteReadyForQuery(); await FlushAsync(); if (expectClusterStateQuery) { // Write the response on the mock is primary/standby/read-write/read-only await ExpectMessages( FrontendMessageCode.Parse, FrontendMessageCode.Bind, FrontendMessageCode.Describe, FrontendMessageCode.Execute, FrontendMessageCode.Parse, FrontendMessageCode.Bind, FrontendMessageCode.Describe, FrontendMessageCode.Execute, FrontendMessageCode.Sync); await SendMockState(state); } }
public async Task IntiFlowInstance_EmptyPayload_MustWarn() { //Arrange var stateManager = new MockState().MockStateManager(); var flowManager = new ManagerFactory().GetFlowManager(stateManager); var initModel = new InitFlowModel() { TypeId = MockData.GetFlowTypes()[0].Id, AccessPhrase = "secure", InitializerId = "1", Payload = null, Title = "Hire devlnull" }; //Act var act = await flowManager.InitFlowAsync(initModel); //Assert LogTestInfo(initModel, act); Assert.True(act.Warned); Assert.NotEmpty(act.Warns); }
public async Task IntiFlowState_WithCorrectModel_InitializeNewState() { //Arrange var stateManager = new MockState().MockStateManager(); var flowManager = new ManagerFactory().GetFlowManager(stateManager); var flowType = MockData.GetFlowTypes()[0]; var initModel = new InitFlowStateModel() { Name = "Test", Title = "Test Title", Tag = "Test", StateType = FlowStateTypes.Purposed, TypeId = flowType.Id, }; //Act var act = await flowManager.InitFlowStateAsync(initModel); //Assert LogTestInfo(initModel, act); Assert.True(act.Succeeded); }
public async Task IntiFlowState_WithEmptyName_MustError() { //Arrange var stateManager = new MockState().MockStateManager(); var flowManager = new ManagerFactory().GetFlowManager(stateManager); var initModel = new InitFlowStateModel() { Name = string.Empty, Title = "Test Title", Tag = "Test", StateType = FlowStateTypes.Purposed, TypeId = Guid.NewGuid(), }; //Act var act = await flowManager.InitFlowStateAsync(initModel); //Assert LogTestInfo(initModel, act); Assert.False(act.Succeeded); Assert.NotEmpty(act.Errors); }
public void GettersExemple() { IStore store = new Store(); var state = new MockState(); var getters = new MockGetters(); var mutation = new MockMutation(); store.Register(state) .Register(getters) .Register(mutation); store.WhenAny <MockState, int>(x => x.Value, HandleValueChanged); store.Commit("Increment", 15); var ret = store.Getters <int>("GetValue"); Assert.Equal(15, ret); }
public void Increment(MockState state, int payload) { state.Value += payload; }