github.com/ncdc/docker@v0.10.1-0.20160129113957-6c6729ef5b74/daemon/logger/loggerutils/log_option_helpers_test.go (about)

     1  package loggerutils
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/docker/docker/daemon/logger"
     7  )
     8  
     9  func TestParseDefaultIgnoreFlag(t *testing.T) {
    10  	ctx := buildContext(map[string]string{})
    11  	flag, e := ParseFailOnStartupErrorFlag(ctx)
    12  	assertFlag(t, e, flag, true)
    13  }
    14  
    15  func TestParseIgnoreFlagWhenFalse(t *testing.T) {
    16  	ctx := buildContext(map[string]string{"fail-on-startup-error": "false"})
    17  	flag, e := ParseFailOnStartupErrorFlag(ctx)
    18  	assertFlag(t, e, flag, false)
    19  }
    20  
    21  func TestParseIgnoreFlagWhenTrue(t *testing.T) {
    22  	ctx := buildContext(map[string]string{"fail-on-startup-error": "true"})
    23  	flag, e := ParseFailOnStartupErrorFlag(ctx)
    24  	assertFlag(t, e, flag, true)
    25  }
    26  
    27  func TestParseIgnoreFlagWithError(t *testing.T) {
    28  	ctx := buildContext(map[string]string{"fail-on-startup-error": "maybe :)"})
    29  	flag, e := ParseFailOnStartupErrorFlag(ctx)
    30  	if e == nil {
    31  		t.Fatalf("Error should have happened")
    32  	}
    33  	assertFlag(t, nil, flag, true)
    34  }
    35  
    36  // Helpers
    37  
    38  func buildConfig(cfg map[string]string) logger.Context {
    39  	return logger.Context{
    40  		Config: cfg,
    41  	}
    42  }
    43  
    44  func assertFlag(t *testing.T, e error, flag bool, expected bool) {
    45  	if e != nil {
    46  		t.Fatalf("Error parsing ignore connect error flag: %q", e)
    47  	}
    48  	if flag != expected {
    49  		t.Fatalf("Wrong flag: %t, should be %t", flag, expected)
    50  	}
    51  }