mirror of
https://github.com/vee1e/gittuf.git
synced 2026-09-03 03:07:10 +00:00
50 lines
1.2 KiB
Go
50 lines
1.2 KiB
Go
// Copyright The gittuf Authors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package gitinterface
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestRepositoryReadBlob(t *testing.T) {
|
|
tempDir := t.TempDir()
|
|
repo := CreateTestGitRepository(t, tempDir, false)
|
|
|
|
contents := []byte("test file read")
|
|
expectedBlobID, err := NewHash("2ecdd330475d93568ed27f717a84a7fe207d1c58")
|
|
require.Nil(t, err)
|
|
|
|
blobID, err := repo.WriteBlob(contents)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
assert.Equal(t, expectedBlobID, blobID)
|
|
|
|
t.Run("read existing blob", func(t *testing.T) {
|
|
readContents, err := repo.ReadBlob(blobID)
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, contents, readContents)
|
|
})
|
|
|
|
t.Run("read non-existing blob", func(t *testing.T) {
|
|
_, err := repo.ReadBlob(ZeroHash)
|
|
assert.NotNil(t, err)
|
|
})
|
|
}
|
|
|
|
func TestRepositoryWriteBlob(t *testing.T) {
|
|
tempDir := t.TempDir()
|
|
repo := CreateTestGitRepository(t, tempDir, false)
|
|
|
|
contents := []byte("test file write")
|
|
expectedBlobID, err := NewHash("999c05e9578e5d244920306842f516789a2498f7")
|
|
require.Nil(t, err)
|
|
|
|
blobID, err := repo.WriteBlob(contents)
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, expectedBlobID, blobID)
|
|
}
|