public async Task <PageEnvelope <Invoice> > ReadAllWithPagingAsync(int offset, int?limit = null, CancellationToken token = default(CancellationToken)) { ServiceContract.RequireGreaterThanOrEqualTo(0, offset, nameof(offset)); if (limit.HasValue) { ServiceContract.RequireGreaterThanOrEqualTo(0, limit.Value, nameof(limit)); } return(await Capability.InvoiceService.ReadAllWithPagingAsync(offset, limit, token)); }
public Task CatchAllEventsAsync(string entityName, string eventName, int majorVersion, dynamic eventBody) { ServiceContract.RequireNotNullOrWhitespace(entityName, nameof(entityName)); ServiceContract.RequireNotNullOrWhitespace(eventName, nameof(eventName)); ServiceContract.RequireGreaterThanOrEqualTo(1, majorVersion, nameof(majorVersion)); ServiceContract.RequireNotNull(eventBody, nameof(eventBody)); throw new FulcrumNotImplementedException($"The event {entityName}.{eventName} version {majorVersion} is not yet supported."); }
public async Task PublishMockAsync(string entityName, string eventName, int majorVersion, int minorVersion, JObject content) { ServiceContract.RequireNotNullOrWhitespace(entityName, nameof(entityName)); ServiceContract.RequireNotNullOrWhitespace(eventName, nameof(eventName)); ServiceContract.RequireGreaterThanOrEqualTo(1, majorVersion, nameof(majorVersion)); ServiceContract.RequireGreaterThanOrEqualTo(0, minorVersion, nameof(minorVersion)); FulcrumAssert.IsTrue(FulcrumApplication.IsInDevelopment, $"This method can only be called in run time level Development. The run time level was {FulcrumApplication.Setup.RunTimeLevel}"); var correlationId = new CorrelationIdValueProvider().CorrelationId; await new BusinessEvents(_tokenRefresher.GetServiceClient(), _subscribers).PublishAsync(entityName, eventName, majorVersion, minorVersion, content, correlationId); }
public void GreaterThanOrEqualOk() { const string parameterName = "parameterName"; try { ServiceContract.RequireGreaterThanOrEqualTo(1, 1, parameterName); } catch (Exception e) { UT.Assert.Fail($"Expected no exception but got {e.Message}."); } }
public void GreaterThanOrEqualOk() { const string parameterName = "parameterName"; try { ServiceContract.RequireGreaterThanOrEqualTo(1, 1, parameterName); } catch (Exception e) { Microsoft.VisualStudio.TestTools.UnitTesting.Assert.Fail($"Expected no exception but got {e.Message}."); } }
public void GreaterThanOrEqualFail() { const string parameterName = "parameterName"; try { ServiceContract.RequireGreaterThanOrEqualTo(2, 1, parameterName); UT.Assert.Fail("An exception should have been thrown"); } catch (FulcrumServiceContractException fulcrumException) { UT.Assert.IsTrue(fulcrumException.TechnicalMessage.Contains(parameterName)); } catch (Exception e) { UT.Assert.Fail($"Expected a specific FulcrumException but got {e.GetType().FullName}."); } }
public async Task Publish(string entityName, string eventName, int major, int minor, JObject content) { ServiceContract.RequireNotNull(entityName, nameof(entityName)); ServiceContract.RequireNotNull(eventName, nameof(eventName)); ServiceContract.RequireGreaterThan(0, major, nameof(major)); ServiceContract.RequireGreaterThanOrEqualTo(0, minor, nameof(minor)); ServiceContract.RequireNotNull(content, nameof(content)); var correlationId = FulcrumApplication.Context.CorrelationId; var test = await _testLogic.GetAsync(correlationId); if (test != null) { try { var client = FulcrumApplication.Context.CallingClientName; var payload = JObject.FromObject(content); var result = await _integrationApiClient.TestBenchPublish(entityName, eventName, major, minor, client, payload); if (result.Verified) { await _integrationApiClient.PublishEvent(entityName, eventName, major, minor, client, payload); await _testLogic.SetStateAsync(test, StateEnum.Ok, "Event intercepted and verified with BE Test bench"); } else { var message = string.Join(", ", result.Errors) + $" | Contract: {JsonConvert.SerializeObject(result.Contract)}" + $" | Payload: {JsonConvert.SerializeObject(result.Payload)}"; await _testLogic.SetStateAsync(test, StateEnum.Failed, message); } } catch (Exception e) { await _testLogic.SetStateAsync(test, StateEnum.Failed, e.Message); } } }