github.com/ncdc/docker@v0.10.1-0.20160129113957-6c6729ef5b74/pkg/aaparser/aaparser_test.go (about)

     1  package aaparser
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  type versionExpected struct {
     8  	output string
     9  	major  int
    10  	minor  int
    11  }
    12  
    13  func TestParseVersion(t *testing.T) {
    14  	versions := []versionExpected{
    15  		{
    16  			output: `AppArmor parser version 2.10
    17  Copyright (C) 1999-2008 Novell Inc.
    18  Copyright 2009-2012 Canonical Ltd.
    19  
    20  `,
    21  			major: 2,
    22  			minor: 10,
    23  		},
    24  		{
    25  			output: `AppArmor parser version 2.8
    26  Copyright (C) 1999-2008 Novell Inc.
    27  Copyright 2009-2012 Canonical Ltd.
    28  
    29  `,
    30  			major: 2,
    31  			minor: 8,
    32  		},
    33  		{
    34  			output: `AppArmor parser version 2.20
    35  Copyright (C) 1999-2008 Novell Inc.
    36  Copyright 2009-2012 Canonical Ltd.
    37  
    38  `,
    39  			major: 2,
    40  			minor: 20,
    41  		},
    42  		{
    43  			output: `AppArmor parser version 2.05
    44  Copyright (C) 1999-2008 Novell Inc.
    45  Copyright 2009-2012 Canonical Ltd.
    46  
    47  `,
    48  			major: 2,
    49  			minor: 5,
    50  		},
    51  	}
    52  
    53  	for _, v := range versions {
    54  		major, minor, err := parseVersion(v.output)
    55  		if err != nil {
    56  			t.Fatalf("expected error to be nil for %#v, got: %v", v, err)
    57  		}
    58  		if major != v.major {
    59  			t.Fatalf("expected major version to be %d, was %d, for: %#v\n", v.major, major, v)
    60  		}
    61  		if minor != v.minor {
    62  			t.Fatalf("expected minor version to be %d, was %d, for: %#v\n", v.minor, minor, v)
    63  		}
    64  	}
    65  }