public BaseMethodTest() { Random = new Random(); AdvisoryDelayHandler = new AdvisoryDelayHandler(new DateTimeWrap()); if (new ConfigurationManagerWrap().GetAppSettingValue<bool>("useEmulator")) Service = new RandomOrgApiEmulator(); }
public void Process_WhenAdvisoryIsZero_ShouldReturnTrue() { // Arrange // Act AdvisoryDelayHandler target = new AdvisoryDelayHandler(); var actual = target.Process(null); // Assert actual.Should().Be.True(); }
/// <summary> /// Constructor /// </summary> /// <param name="advisoryDelayHandler"> /// Class which handles the apprioriate delay before the request is called. /// It is required that this class be passed into the method because the same instance of the <see cref="AdvisoryDelayHandler"/> must be passed in on every request. /// </param> /// <param name="randomService"><see cref="IRandomService"/> to use to get random values. Defaults to <see cref="RandomOrgApiService"/></param> public StringSignedMethod(AdvisoryDelayHandler advisoryDelayHandler, IRandomService randomService = null) : base(advisoryDelayHandler, randomService) { var verifySignatureHandler = new VerifySignatureHandler(RandomService); BeforeRequestCommandFactory = new BeforeRequestCommandFactory(advisoryDelayHandler, verifySignatureHandler); ResponseHandlerFactory = new ResponseHandlerFactory( new ErrorHandlerThrowException(new ErrorParser()), verifySignatureHandler, advisoryDelayHandler, new VerifyIdResponseHandler(), ResponseParser ); }
/// <summary> /// Constructor /// </summary> /// <param name="advisoryDelayHandler"> /// Class which handles the apprioriate delay before the request is called. /// It is required that this class be passed into the method because the same instance of the <see cref="AdvisoryDelayHandler"/> must be passed in on every request. /// </param> /// <param name="randomService"><see cref="IRandomService"/> to use to get random values. Defaults to <see cref="RandomOrgApiService"/></param> public BlobSignedMethod(AdvisoryDelayHandler advisoryDelayHandler, IRandomService randomService = null) : base(advisoryDelayHandler, randomService) { // We just need to setup the Verification Signature class, other than that everything else is the same. var verifySignatureHandler = new VerifySignatureHandler(RandomService); BeforeRequestCommandFactory = new BeforeRequestCommandFactory(advisoryDelayHandler, verifySignatureHandler); ResponseHandlerFactory = new ResponseHandlerFactory( new ErrorHandlerThrowException(new ErrorParser()), verifySignatureHandler, advisoryDelayHandler, new VerifyIdResponseHandler(), ResponseParser ); }
/// <summary> /// Constructor /// </summary> /// <param name="advisoryDelayHandler"> /// Class which handles the apprioriate delay before the request is called. /// It is required that this class be passed into the method because the same instance of the <see cref="AdvisoryDelayHandler"/> must be passed in on every request. /// </param> /// <param name="randomService"><see cref="IRandomService"/> to use to get random values. Defaults to <see cref="RandomOrgApiService"/></param> public UuidBasicMethod(AdvisoryDelayHandler advisoryDelayHandler, IRandomService randomService = null) { RandomService = randomService ?? new RandomOrgApiService(); RequestBuilder = new JsonRequestBuilder(new UuidJsonRequestBuilder()); BeforeRequestCommandFactory = new BeforeRequestCommandFactory(advisoryDelayHandler); // We need to keep this separate so we can retrieve the list of values that are returned from to the caller ResponseParser = new JsonResponseParserFactory(new UuidResponseParser()); ResponseHandlerFactory = new ResponseHandlerFactory( new ErrorHandlerThrowException(new ErrorParser()), advisoryDelayHandler, new VerifyIdResponseHandler(), ResponseParser ); }
public void Process_WhenWaitTimeLessThanZero_ShouldReturnQuickly() { // Arrange const long delayTime = 100; Mock<IDateTime> dateTimeMock = new Mock<IDateTime>(); dateTimeMock.Setup(m => m.UtcNow).Returns(new DateTimeWrap(2016, 2, 1)); long advisoryDelay = new DateTime(2016, 2, 1).Ticks + delayTime; // Act AdvisoryDelayHandler target = new AdvisoryDelayHandler(dateTimeMock.Object); UnitTestHelper.SetPrivateProperty(target, "_advisoryDelay", advisoryDelay); Stopwatch stopwatch = Stopwatch.StartNew(); var actual = target.Process(null); stopwatch.Stop(); // Assert actual.Should().Be.True(); stopwatch.ElapsedMilliseconds.Should().Be.LessThan(delayTime); }
public static void CleanupTest() { _random = null; _advisoryDelayHandler = null; }
public static void InitializeTests(TestContext context) { _random = new Random(); _advisoryDelayHandler = new AdvisoryDelayHandler(new DateTimeWrap()); }
public void CleanupTest() { _advisoryDelayHandler = null; }
public void InitializeTest() { _advisoryDelayHandler = new AdvisoryDelayHandler(new DateTimeWrap()); }
public void Handle_WhenAdvisoryDelayGreaterThanZero_ShouldSetAdvisoryDelay() { // Arrange const int delayTime = 100; Mock<IDateTime> dateTimeMock = new Mock<IDateTime>(); dateTimeMock.Setup(m => m.UtcNow).Returns(new DateTimeWrap(2016, 2, 1)); long expected = new DateTime(2016, 2, 1).Ticks + delayTime; var input = new JObject( new JProperty( "result", new JObject( new JProperty(JsonRpcConstants.ADVISORY_DELAY_PARAMETER_NAME, delayTime) ) ) ); // Act AdvisoryDelayHandler target = new AdvisoryDelayHandler(dateTimeMock.Object); var actual = target.Handle(null, input.ToString()); long advisoryDelay = UnitTestHelper.GetPrivateProperty<long>(target, "_advisoryDelay"); // Assert actual.Should().Be.True(); advisoryDelay.Should().Equal(expected); }
public void CanHandlee_WhenVerifySignatureMethodType_ShouldReturnFalse() { // Arrange Mock<IParameters> parametersMock = new Mock<IParameters>(); parametersMock.Setup(m => m.MethodType).Returns(MethodType.VerifySignature); // Act AdvisoryDelayHandler target = new AdvisoryDelayHandler(); var actual = target.CanHandle(parametersMock.Object); // Assert actual.Should().Be.False(); }
public void CanHandle_WhenStringMethodType_ShouldReturnTrue() { // Arrange Mock<IParameters> parametersMock = new Mock<IParameters>(); parametersMock.Setup(m => m.MethodType).Returns(MethodType.String); // Act AdvisoryDelayHandler target = new AdvisoryDelayHandler(); var actual = target.CanHandle(parametersMock.Object); // Assert actual.Should().Be.True(); }
public void CanProcess_WhenCalled_ShouldAlwaysReturnTrue() { // Arrange // Act AdvisoryDelayHandler target = new AdvisoryDelayHandler(null); var actual = target.CanProcess(null); // Assert actual.Should().Be.True(); }
public void Handle_WhenAdvisoryDelayIsZero_ShouldSetAdvisoryDelayToZero() { // Arrange const long expected = 0; var input = new JObject( new JProperty("result", new JObject( new JProperty(JsonRpcConstants.ADVISORY_DELAY_PARAMETER_NAME, expected) )) ); // Act AdvisoryDelayHandler target = new AdvisoryDelayHandler(); var actual = target.Handle(null, input.ToString()); long advisoryDelay = UnitTestHelper.GetPrivateProperty<long>(target, "_advisoryDelay"); // Assert actual.Should().Be.True(); advisoryDelay.Should().Equal(expected); }