private void describe_CreateFromDirectory() { before = () => { File.WriteAllText(Path.Combine(tmpDir, "a_file.txt"), "Some exciting text"); Directory.CreateDirectory(Path.Combine(tmpDir, "a dir")); File.WriteAllText(Path.Combine(tmpDir, "a dir", "another_file.txt"), "Some spacey text"); }; context["requesting a single file"] = () => { before = () => { tarStream = tarStreamService.WriteTarToStream(Path.Combine(tmpDir, "a_file.txt")); }; it["returns a stream with a single requested file"] = () => { using (IReader tar = ReaderFactory.Open(tarStream)) { tar.MoveToNextEntry().should_be_true(); tar.Entry.Key.should_be("a_file.txt"); tar.MoveToNextEntry().should_be_false(); } }; }; context["requesting a directory"] = () => { before = () => { tarStream = tarStreamService.WriteTarToStream(tmpDir); }; it["creates the tgz stream"] = () => { ReaderFactory.Open(tarStream).should_not_be_null(); }; it["returns a stream with the files inside"] = () => { using (var tar = ArchiveFactory.Open(tarStream)) { var entries = tar.Entries.Select(x => x.Key).ToList(); entries.should_contain("./a_file.txt"); entries.should_contain("./a dir/another_file.txt"); } }; it["has content in the files"] = () => { using (var tar = ArchiveFactory.Open(tarStream)) { var entries = tar.Entries.ToList(); entries.Select(x => x.Key).should_contain("./a_file.txt"); var aFile = entries.First(x => x.Key == "./a_file.txt"); GetString(aFile.OpenEntryStream(), aFile.Size).should_be("Some exciting text"); } }; }; }
private void describe_CreateFromDirectory() { before = () => { File.WriteAllText(Path.Combine(tmpDir, "a_file.txt"), "Some exciting text"); Directory.CreateDirectory(Path.Combine(tmpDir, "a_dir")); File.WriteAllText(Path.Combine(tmpDir, "a_dir", "another_file.txt"), "Some different text"); }; context["requesting a single file"] = () => { before = () => { tarStream = tarStreamService.WriteTarToStream(Path.Combine(tmpDir, "a_file.txt")); }; it["returns a stream with a single requested file"] = () => { using (IReader tar = ReaderFactory.Open(tarStream)) { tar.MoveToNextEntry().should_be_true(); tar.Entry.Key.should_be("a_file.txt"); tar.MoveToNextEntry().should_be_false(); } }; }; context["requesting a directory"] = () => { before = () => { tarStream = tarStreamService.WriteTarToStream(tmpDir); }; it["creates the tgz stream"] = () => { ReaderFactory.Open(tarStream).should_not_be_null(); }; it["returns a stream with the files inside"] = () => { using (IReader tar = ReaderFactory.Open(tarStream)) { tar.MoveToNextEntry().should_be_true(); tar.Entry.Key.should_be("a_file.txt"); tar.MoveToNextEntry().should_be_true(); tar.Entry.Key.should_be("a_dir/another_file.txt"); } }; it["has content in the files"] = () => { using (IReader tar = ReaderFactory.Open(tarStream)) { tar.MoveToNextEntry().should_be_true(); tar.Entry.Key.should_be("a_file.txt"); GetString(tar.OpenEntryStream(), tar.Entry.Size).should_be("Some exciting text"); } }; }; }