mirror of
https://github.com/TECHNOFAB11/jsonnet-bundler.git
synced 2025-12-12 08:00:05 +01:00
pkg: Write tests for TestInsertDependency, TestFileExists, TestLoadJsonnetfile
This commit is contained in:
parent
c516ce2506
commit
27c36f6160
3 changed files with 114 additions and 12 deletions
|
|
@ -15,13 +15,19 @@
|
|||
package pkg
|
||||
|
||||
import (
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
"github.com/jsonnet-bundler/jsonnet-bundler/spec"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestInsert(t *testing.T) {
|
||||
deps := []spec.Dependency{spec.Dependency{Name: "test1", Version: "latest"}}
|
||||
const NotExist = "/this/does/not/exist"
|
||||
|
||||
func TestInsertDependency(t *testing.T) {
|
||||
deps := []spec.Dependency{{Name: "test1", Version: "latest"}}
|
||||
dep := spec.Dependency{Name: "test2", Version: "latest"}
|
||||
|
||||
res, err := insertDependency(deps, dep)
|
||||
|
|
@ -33,3 +39,101 @@ func TestInsert(t *testing.T) {
|
|||
t.Fatal("Incorrectly inserted")
|
||||
}
|
||||
}
|
||||
|
||||
func TestFileExists(t *testing.T) {
|
||||
{
|
||||
exists, err := FileExists(NotExist)
|
||||
assert.False(t, exists)
|
||||
assert.Nil(t, err)
|
||||
}
|
||||
{
|
||||
tempFile, err := ioutil.TempFile("", "jb-exists")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
defer func() {
|
||||
err := os.Remove(tempFile.Name())
|
||||
assert.Nil(t, err)
|
||||
}()
|
||||
|
||||
exists, err := FileExists(tempFile.Name())
|
||||
assert.True(t, exists)
|
||||
assert.Nil(t, err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestLoadJsonnetfile(t *testing.T) {
|
||||
empty := spec.JsonnetFile{}
|
||||
|
||||
jsonnetfileContent := `{
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "foobar",
|
||||
"source": {
|
||||
"git": {
|
||||
"remote": "https://github.com/foobar/foobar",
|
||||
"subdir": ""
|
||||
}
|
||||
},
|
||||
"version": "master"
|
||||
}
|
||||
]
|
||||
}
|
||||
`
|
||||
jsonnetFileExpected := spec.JsonnetFile{
|
||||
Dependencies: []spec.Dependency{{
|
||||
Name: "foobar",
|
||||
Source: spec.Source{
|
||||
GitSource: &spec.GitSource{
|
||||
Remote: "https://github.com/foobar/foobar",
|
||||
Subdir: "",
|
||||
},
|
||||
},
|
||||
Version: "master",
|
||||
DepSource: "",
|
||||
}},
|
||||
}
|
||||
|
||||
{
|
||||
jf, err := LoadJsonnetfile(NotExist)
|
||||
assert.Equal(t, empty, jf)
|
||||
assert.Error(t, err)
|
||||
}
|
||||
{
|
||||
tempDir, err := ioutil.TempDir("", "jb-load-jsonnetfile")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer func() {
|
||||
err := os.RemoveAll(tempDir)
|
||||
assert.Nil(t, err)
|
||||
}()
|
||||
|
||||
tempFile := filepath.Join(tempDir, JsonnetFile)
|
||||
err = ioutil.WriteFile(tempFile, []byte(`{}`), os.ModePerm)
|
||||
assert.Nil(t, err)
|
||||
|
||||
jf, err := LoadJsonnetfile(tempFile)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, empty, jf)
|
||||
}
|
||||
{
|
||||
tempDir, err := ioutil.TempDir("", "jb-load-jsonnetfile")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer func() {
|
||||
err := os.RemoveAll(tempDir)
|
||||
assert.Nil(t, err)
|
||||
}()
|
||||
|
||||
tempFile := filepath.Join(tempDir, JsonnetFile)
|
||||
err = ioutil.WriteFile(tempFile, []byte(jsonnetfileContent), os.ModePerm)
|
||||
assert.Nil(t, err)
|
||||
|
||||
jf, err := LoadJsonnetfile(tempFile)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, jsonnetFileExpected, jf)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue