github.com/ChicK00o/awgo@v0.29.4/workflow_paths_test.go (about) 1 // Copyright (c) 2019 Dean Jackson <deanishe@deanishe.net> 2 // MIT Licence applies http://opensource.org/licenses/MIT 3 4 package aw 5 6 import ( 7 "os" 8 "testing" 9 10 "github.com/stretchr/testify/assert" 11 "github.com/stretchr/testify/require" 12 ) 13 14 func TestReset(t *testing.T) { 15 withTestWf(func(wf *Workflow) { 16 s := wf.Dir() 17 x, err := os.Getwd() 18 require.Nil(t, err, "Getwd failed") 19 assert.Equal(t, x, s, "unexpected dir") 20 21 name := "xyz.json" 22 data := []byte("muh bytes") 23 err = wf.Cache.Store(name, data) 24 assert.Nil(t, err, "cache store failed") 25 err = wf.Data.Store(name, data) 26 assert.Nil(t, err, "data store failed") 27 err = wf.Session.Store(name, data) 28 assert.Nil(t, err, "session store failed") 29 30 assert.True(t, wf.Cache.Exists(name), "cache data do not exist") 31 assert.True(t, wf.Data.Exists(name), "data do not exist") 32 assert.True(t, wf.Session.Exists(name), "session data do not exist") 33 34 require.Nil(t, wf.Reset(), "reset failed") 35 36 assert.False(t, wf.Cache.Exists(name), "cache data exist") 37 assert.False(t, wf.Data.Exists(name), "data exist") 38 assert.False(t, wf.Session.Exists(name), "session data exist") 39 }) 40 } 41 42 func TestWorkflowRoot(t *testing.T) { 43 withTestWf(func(wf *Workflow) { 44 wd, err := os.Getwd() 45 require.Nil(t, err, "Getwd failed") 46 47 p := findWorkflowRoot(wd) 48 assert.Equal(t, wd, p, "unexpected workflow directory") 49 }) 50 } 51 52 func TestOpen(t *testing.T) { 53 helpURL := "https://github.com/ChicK00o/awgo" 54 55 withTestWf(func(wf *Workflow) { 56 wf.Configure(HelpURL(helpURL)) 57 tests := []struct { 58 fn func() error 59 name string 60 args []string 61 }{ 62 {wf.OpenLog, "open", 63 []string{"open", wf.LogFile()}, 64 }, 65 {wf.OpenHelp, "open", 66 []string{"open", helpURL}, 67 }, 68 {wf.OpenCache, "open", 69 []string{"open", wf.CacheDir()}, 70 }, 71 {wf.OpenData, "open", 72 []string{"open", wf.DataDir()}, 73 }, 74 } 75 76 for _, td := range tests { 77 me := &mockExec{} 78 wf.execFunc = me.Run 79 assert.Nil(t, td.fn(), "test command failed") 80 assert.Equal(t, td.name, me.name, "Wrong command name") 81 assert.Equal(t, td.args, me.args, "Wrong command args") 82 } 83 }) 84 }