| package layer // import "github.com/docker/docker/layer" |
| |
| import ( |
| "io" |
| "testing" |
| |
| "github.com/opencontainers/go-digest" |
| ) |
| |
| func TestEmptyLayer(t *testing.T) { |
| if EmptyLayer.ChainID() != ChainID(DigestSHA256EmptyTar) { |
| t.Fatal("wrong ChainID for empty layer") |
| } |
| |
| if EmptyLayer.DiffID() != DigestSHA256EmptyTar { |
| t.Fatal("wrong DiffID for empty layer") |
| } |
| |
| if EmptyLayer.Parent() != nil { |
| t.Fatal("expected no parent for empty layer") |
| } |
| |
| if size, err := EmptyLayer.Size(); err != nil || size != 0 { |
| t.Fatal("expected zero size for empty layer") |
| } |
| |
| if diffSize, err := EmptyLayer.DiffSize(); err != nil || diffSize != 0 { |
| t.Fatal("expected zero diffsize for empty layer") |
| } |
| |
| meta, err := EmptyLayer.Metadata() |
| |
| if len(meta) != 0 || err != nil { |
| t.Fatal("expected zero length metadata for empty layer") |
| } |
| |
| tarStream, err := EmptyLayer.TarStream() |
| if err != nil { |
| t.Fatalf("error streaming tar for empty layer: %v", err) |
| } |
| |
| digester := digest.Canonical.Digester() |
| _, err = io.Copy(digester.Hash(), tarStream) |
| |
| if err != nil { |
| t.Fatalf("error hashing empty tar layer: %v", err) |
| } |
| |
| if digester.Digest() != digest.Digest(DigestSHA256EmptyTar) { |
| t.Fatal("empty layer tar stream hashes to wrong value") |
| } |
| } |