internal override bool TryStore(string key, long contentLength, DateTime expiresUtc, DateTime lastModifiedUtc, TimeSpan maxStale, StringCollection entryMetadata, StringCollection systemMetadata, out Stream writeStream) { if (key == null) { throw new ArgumentNullException("key"); } RequestCacheEntry cacheEntry = new RequestCacheEntry { IsPrivateEntry = base.IsPrivateCache, StreamSize = contentLength, ExpiresUtc = expiresUtc, LastModifiedUtc = lastModifiedUtc, LastAccessedUtc = DateTime.UtcNow, LastSynchronizedUtc = DateTime.UtcNow, MaxStale = maxStale, HitCount = 0, UsageCount = 0, IsPartialEntry = false, EntryMetadata = entryMetadata, SystemMetadata = systemMetadata }; writeStream = null; Stream stream = null; if (this._UseWinInet) { base.TryStore(key, contentLength, expiresUtc, lastModifiedUtc, maxStale, entryMetadata, systemMetadata, out stream); } writeStream = new WriteOnlyStream(key, this, cacheEntry, stream); return(true); }
public async Task ThrowsWhenStreamIsNotReadable() { var writeOnlyStream = new WriteOnlyStream(); var ex = await Assert.ThrowsAsync <ArgumentException>(() => TextHelper.LooksLikeUtf8TextStreamAsync(writeOnlyStream, 10)); Assert.Equal("stream", ex.ParamName); }
public Stream OpenWrite(string file) { var ret = new WriteOnlyStream(_backend.Open(file, OpenMode.OpenOrCreate)); WriteOperation?.Invoke(file); // Won't fire if the stream is written to afterwards... FIXME? return(ret); }
internal override bool TryStore(string key, long contentLength, DateTime expiresUtc, DateTime lastModifiedUtc, TimeSpan maxStale, StringCollection entryMetadata, StringCollection systemMetadata, out Stream writeStream) { if (key == null) { throw new ArgumentNullException("key"); } RequestCacheEntry requestCacheEntry = new RequestCacheEntry(); requestCacheEntry.IsPrivateEntry = this.IsPrivateCache; requestCacheEntry.StreamSize = contentLength; requestCacheEntry.ExpiresUtc = expiresUtc; requestCacheEntry.LastModifiedUtc = lastModifiedUtc; requestCacheEntry.LastAccessedUtc = DateTime.UtcNow; requestCacheEntry.LastSynchronizedUtc = DateTime.UtcNow; requestCacheEntry.MaxStale = maxStale; requestCacheEntry.HitCount = 0; requestCacheEntry.UsageCount = 0; requestCacheEntry.IsPartialEntry = false; requestCacheEntry.EntryMetadata = entryMetadata; requestCacheEntry.SystemMetadata = systemMetadata; writeStream = null; Stream realWriteStream = null; writeStream = new WriteOnlyStream(key, this, requestCacheEntry, realWriteStream); return(true); }
public void DisposeWhenUsingWriteOnlyStream() { var writeOnlyStream = new WriteOnlyStream(); using( var csvHelper = new CsvHelper( writeOnlyStream ) ) { csvHelper.Writer.WriteField( "test" ); } }
public void DisposeWhenUsingWriteOnlyStream() { var writeOnlyStream = new WriteOnlyStream(); using (var csvHelper = new CsvHelper(writeOnlyStream)) { csvHelper.Writer.WriteField("test"); } }
public void TestWriteOnlyStream() { var tree = CSharpSyntaxTree.ParseText("class Program { static void Main() { } }"); var compilation = CSharpCompilation.Create("Program", new[] { tree }, new[] { MetadataReference.CreateFromAssembly(typeof(object).Assembly) }, new CSharpCompilationOptions(OutputKind.ConsoleApplication).WithFeatures((new[] { "deterministic" }).AsImmutable())); var output = new WriteOnlyStream(); compilation.Emit(output); }
public void TestWriteOnlyStream() { var tree = CSharpSyntaxTree.ParseText("class Program { static void Main() { } }"); var compilation = CSharpCompilation.Create("Program", new[] { tree }, new[] { MetadataReference.CreateFromAssemblyInternal(typeof(object).Assembly) }, TestOptions.DebugExe.WithDeterministic(true)); var output = new WriteOnlyStream(); compilation.Emit(output); }
public void WriteUsingWriteOnlyStreamTest() { var writeOnlyStream = new WriteOnlyStream(); var csvHelper = new CsvHelper( writeOnlyStream ); csvHelper.Writer.WriteField( "test" ); try { csvHelper.Reader.Read(); Assert.Fail( "Accessing the reader did not throw and exception." ); } catch( CsvReaderException ) {} }
public void WHEN_stream_cannot_be_read_THEN_an_argument_exception_is_thrown() { var stream = new WriteOnlyStream(); Func <PBIFile> sut = () => PBIReader.OpenFile(stream); sut.Should().Throw <ArgumentException>() .WithMessage("'fileStream' cannot be read."); Func <Task <PBIFile> > sutAsync = async() => await PBIReader.OpenFileAsync(stream); sutAsync.Should().Throw <ArgumentException>() .WithMessage($"'fileStream' cannot be read."); }
public void WriteUsingWriteOnlyStreamTest() { var writeOnlyStream = new WriteOnlyStream(); var csvHelper = new CsvHelper(writeOnlyStream); csvHelper.Writer.WriteField("test"); try { csvHelper.Reader.Read(); Assert.Fail("Accessing the reader did not throw and exception."); } catch (CsvReaderException) {} }
public void WriteFromSpan_InputSizeLargerThanHalfOfMaxInt_ShouldSuccess() { const int InputSize = int.MaxValue / 2 + 1; byte[] bytes; try { bytes = new byte[InputSize]; } catch (OutOfMemoryException) { return; } var writableStream = new WriteOnlyStream(); using (var bs = new BufferedStream(writableStream)) { bs.Write(new ReadOnlySpan <byte>(bytes)); Assert.Equal(InputSize, writableStream.Position); } }
public void TestWriteOnlyStream() { var tree = CSharpSyntaxTree.ParseText("class Program { static void Main() { } }"); var compilation = CSharpCompilation.Create("Program", new[] { tree }, new[] { MetadataReference.CreateFromAssemblyInternal(typeof(object).Assembly) }, new CSharpCompilationOptions(OutputKind.ConsoleApplication).WithDeterminism(true)); var output = new WriteOnlyStream(); compilation.Emit(output); }
internal override bool TryStore(string key, long contentLength, DateTime expiresUtc, DateTime lastModifiedUtc, TimeSpan maxStale, StringCollection entryMetadata, StringCollection systemMetadata, out Stream writeStream) { if (key == null) { throw new ArgumentNullException("key"); } RequestCacheEntry cacheEntry = new RequestCacheEntry { IsPrivateEntry = base.IsPrivateCache, StreamSize = contentLength, ExpiresUtc = expiresUtc, LastModifiedUtc = lastModifiedUtc, LastAccessedUtc = DateTime.UtcNow, LastSynchronizedUtc = DateTime.UtcNow, MaxStale = maxStale, HitCount = 0, UsageCount = 0, IsPartialEntry = false, EntryMetadata = entryMetadata, SystemMetadata = systemMetadata }; writeStream = null; Stream stream = null; if (this._UseWinInet) { base.TryStore(key, contentLength, expiresUtc, lastModifiedUtc, maxStale, entryMetadata, systemMetadata, out stream); } writeStream = new WriteOnlyStream(key, this, cacheEntry, stream); return true; }
internal override bool TryStore(string key, long contentLength, DateTime expiresUtc, DateTime lastModifiedUtc, TimeSpan maxStale, StringCollection entryMetadata, StringCollection systemMetadata, out Stream writeStream) { if (key == null) throw new ArgumentNullException("key"); RequestCacheEntry requestCacheEntry = new RequestCacheEntry(); requestCacheEntry.IsPrivateEntry = this.IsPrivateCache; requestCacheEntry.StreamSize = contentLength; requestCacheEntry.ExpiresUtc = expiresUtc; requestCacheEntry.LastModifiedUtc = lastModifiedUtc; requestCacheEntry.LastAccessedUtc = DateTime.UtcNow; requestCacheEntry.LastSynchronizedUtc = DateTime.UtcNow; requestCacheEntry.MaxStale = maxStale; requestCacheEntry.HitCount = 0; requestCacheEntry.UsageCount = 0; requestCacheEntry.IsPartialEntry = false; requestCacheEntry.EntryMetadata = entryMetadata; requestCacheEntry.SystemMetadata = systemMetadata; writeStream = null; Stream realWriteStream = null; writeStream = new WriteOnlyStream(key, this, requestCacheEntry, realWriteStream); return true; }
/// <inheritdoc /> public override int WriteStream(long length, ObjectType objectType, out OdbBackendStream stream) { stream = new WriteOnlyStream(this, objectType, length); return((int)ReturnCode.GIT_OK); }