github.com/craigkelly/dmk@v1.0.1/step_test.go (about)

     1  package main
     2  
     3  import (
     4  	"io/ioutil"
     5  	"log"
     6  	"os"
     7  	"testing"
     8  
     9  	"github.com/stretchr/testify/assert"
    10  )
    11  
    12  //Important: these step tests are actually using function in main.go
    13  
    14  func TestSlowBuild(t *testing.T) {
    15  	assert := assert.New(t)
    16  
    17  	var err error
    18  
    19  	log.SetFlags(0)
    20  	assert.NoError(os.Chdir("./res"))
    21  	defer os.Chdir("..")
    22  
    23  	cfgText, err := ioutil.ReadFile("slowbuild.yaml")
    24  	assert.NoError(err)
    25  	assert.NotEmpty(cfgText)
    26  
    27  	cfg, err := ReadConfig(cfgText)
    28  	assert.NoError(err)
    29  	assert.Len(cfg, 3) //sanity check
    30  
    31  	var missing bool
    32  	verb := log.New(ioutil.Discard, "", 0) //log.New(os.Stdout, "", 0)
    33  
    34  	// Clean and test files
    35  	assert.Equal(0, DoClean(cfg, verb))
    36  	missing, err = AnyMissing([]string{"file1.txt", "file2.txt", "combined.txt"})
    37  	assert.NoError(err)
    38  	assert.True(missing)
    39  
    40  	assert.Equal(0, DoBuild(cfg, verb))
    41  	missing, err = AnyMissing([]string{"file1.txt", "file2.txt", "combined.txt"})
    42  	assert.NoError(err)
    43  	assert.False(missing)
    44  
    45  	assert.Equal(0, DoBuild(cfg, verb))
    46  	missing, err = AnyMissing([]string{"file1.txt", "file2.txt", "combined.txt"})
    47  	assert.NoError(err)
    48  	assert.False(missing)
    49  
    50  	// Clean and test files
    51  	assert.Equal(0, DoClean(cfg, verb))
    52  	missing, err = AnyMissing([]string{"file1.txt", "file2.txt", "combined.txt"})
    53  	assert.NoError(err)
    54  	assert.True(missing)
    55  }