aboutsummaryrefslogtreecommitdiff
path: root/internal/lfsutil/storage_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/lfsutil/storage_test.go')
-rw-r--r--internal/lfsutil/storage_test.go43
1 files changed, 43 insertions, 0 deletions
diff --git a/internal/lfsutil/storage_test.go b/internal/lfsutil/storage_test.go
new file mode 100644
index 00000000..4f64b92b
--- /dev/null
+++ b/internal/lfsutil/storage_test.go
@@ -0,0 +1,43 @@
+// Copyright 2020 The Gogs Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package lfsutil
+
+import (
+ "runtime"
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestStorageLocalPath(t *testing.T) {
+ if runtime.GOOS == "windows" {
+ t.Skip("Skipping testing on Windows")
+ return
+ }
+
+ tests := []struct {
+ name string
+ root string
+ oid OID
+ expPath string
+ }{
+ {
+ name: "invalid oid",
+ oid: OID("bad_oid"),
+ },
+
+ {
+ name: "valid oid",
+ root: "/lfs-objects",
+ oid: OID("sha256:ef797c8118f02dfb649607dd5d3f8c7623048c9c063d532cc95c5ed7a898a64f"),
+ expPath: "/lfs-objects/e/f/ef797c8118f02dfb649607dd5d3f8c7623048c9c063d532cc95c5ed7a898a64f",
+ },
+ }
+ for _, test := range tests {
+ t.Run(test.name, func(t *testing.T) {
+ assert.Equal(t, test.expPath, StorageLocalPath(test.root, test.oid))
+ })
+ }
+}