示例#1
0
        static void Run(ActionPolicy policy, Action <Mock <ISpy> > verify)
        {
            var spy = Pleasure.Spy();

            spy.Setup(r => r.Is()).Throws <ArgumentException>();
            var exception = Catch.Exception(() => policy.Do(() => spy.Object.Is()));

            exception.ShouldNotBeNull();
            verify(spy);
        }
示例#2
0
        private void EnsureWriterExists(long version)
        {
            if (this._currentWriter != null)
            {
                return;
            }

            var azureOptions = new BlobRequestOptions
            {
                MaximumExecutionTime = TimeSpan.FromMinutes(30),
                ServerTimeout        = TimeSpan.FromMinutes(30),
                RetryPolicy          = new LinearRetry(TimeSpan.FromSeconds(0.2), 100)
            };
            var fileName = string.Format("{0:00000000}-{1:yyyy-MM-dd-HHmmss}.dat", version, DateTime.UtcNow);
            var blob     = _policy.Get(() => this._container.GetPageBlobReference(fileName));

            _policy.Do((() => blob.Create(this._pageSizeMultiplier, options: azureOptions)));

            this._currentWriter = new AppendOnlyStream(512, (i, bytes) => blob.WritePages(bytes, i, options: azureOptions), this._pageSizeMultiplier);
        }