Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTiago Botelho <tiagonbotelho@hotmail.com>2018-09-25 16:02:56 +0300
committerTiago Botelho <tiagonbotelho@hotmail.com>2018-09-25 16:02:56 +0300
commit46e6eae9951b7c1740e518a22d04f41bb9a69eae (patch)
tree19ae2dbf1bec87439f65d64cd5a5548fe610394b
parent30e4d0f1d252d256d27a924de77fd9500bc94382 (diff)
Adds tests for lstree package
-rw-r--r--internal/git/lstree/last_commits.go2
-rw-r--r--internal/git/lstree/last_commits_test.go62
-rw-r--r--internal/git/lstree/testdata/z-lstree.txtbin0 -> 187 bytes
3 files changed, 63 insertions, 1 deletions
diff --git a/internal/git/lstree/last_commits.go b/internal/git/lstree/last_commits.go
index f21c6cb8f..c51a33678 100644
--- a/internal/git/lstree/last_commits.go
+++ b/internal/git/lstree/last_commits.go
@@ -93,7 +93,7 @@ func toEnum(s string) (objectType, error) {
return tree, nil
case "blob":
return blob, nil
- case "submodule":
+ case "commit":
return submodule, nil
default:
return -1, fmt.Errorf("Error in objectType conversion %q", s)
diff --git a/internal/git/lstree/last_commits_test.go b/internal/git/lstree/last_commits_test.go
new file mode 100644
index 000000000..6bb402743
--- /dev/null
+++ b/internal/git/lstree/last_commits_test.go
@@ -0,0 +1,62 @@
+package lstree
+
+import (
+ "io"
+ "os"
+ "testing"
+
+ "github.com/stretchr/testify/require"
+)
+
+func TestParser(t *testing.T) {
+ file, err := os.Open("testdata/z-lstree.txt")
+
+ require.NoError(t, err)
+ defer file.Close()
+
+ var parsedEntries Entries
+
+ parser := NewParser(file)
+
+ for {
+ entry, err := parser.NextEntry()
+ if err == io.EOF {
+ break
+ }
+
+ require.NoError(t, err)
+ parsedEntries = append(parsedEntries, entry)
+ }
+
+ expectedEntries := Entries{
+ {
+ Mode: []byte("100644"),
+ Type: 1,
+ Object: "b78f2bdd90e85de463bd091622efcc70489de893",
+ Path: ".gitmodules",
+ },
+ {
+ Mode: []byte("040000"),
+ Type: 0,
+ Object: "85ecfbd13807e6374407ba97d252bfe0cf2403fe",
+ Path: "_locales",
+ },
+ {
+ Mode: []byte("160000"),
+ Type: 2,
+ Object: "b2291647b9346873501cedf482270495cd85b7b9",
+ Path: "bar",
+ },
+ }
+
+ require.Equal(t, len(expectedEntries), len(parsedEntries))
+
+ for index, parsedEntry := range parsedEntries {
+ expectedEntry := expectedEntries[index]
+
+ require.Equal(t, expectedEntry.Mode, parsedEntry.Mode)
+ require.Equal(t, expectedEntry.Type, parsedEntry.Type)
+ require.Equal(t, expectedEntry.Object, parsedEntry.Object)
+ require.Equal(t, expectedEntry.Path, parsedEntry.Path)
+ }
+}
diff --git a/internal/git/lstree/testdata/z-lstree.txt b/internal/git/lstree/testdata/z-lstree.txt
new file mode 100644
index 000000000..7abfa6df7
--- /dev/null
+++ b/internal/git/lstree/testdata/z-lstree.txt
Binary files differ