github.com/Prakhar-Agarwal-byte/moby@v0.0.0-20231027092010-a14e3e8ab87e/pkg/aaparser/aaparser_test.go (about) 1 package aaparser // import "github.com/Prakhar-Agarwal-byte/moby/pkg/aaparser" 2 3 import ( 4 "testing" 5 ) 6 7 type versionExpected struct { 8 output string 9 version int 10 } 11 12 func TestParseVersion(t *testing.T) { 13 versions := []versionExpected{ 14 { 15 output: `AppArmor parser version 2.10 16 Copyright (C) 1999-2008 Novell Inc. 17 Copyright 2009-2012 Canonical Ltd. 18 19 `, 20 version: 210000, 21 }, 22 { 23 output: `AppArmor parser version 2.8 24 Copyright (C) 1999-2008 Novell Inc. 25 Copyright 2009-2012 Canonical Ltd. 26 27 `, 28 version: 208000, 29 }, 30 { 31 output: `AppArmor parser version 2.20 32 Copyright (C) 1999-2008 Novell Inc. 33 Copyright 2009-2012 Canonical Ltd. 34 35 `, 36 version: 220000, 37 }, 38 { 39 output: `AppArmor parser version 2.05 40 Copyright (C) 1999-2008 Novell Inc. 41 Copyright 2009-2012 Canonical Ltd. 42 43 `, 44 version: 205000, 45 }, 46 { 47 output: `AppArmor parser version 2.2.0~rc2 48 Copyright (C) 1999-2008 Novell Inc. 49 Copyright 2009-2012 Canonical Ltd. 50 51 `, 52 version: 202000, 53 }, 54 { 55 output: `AppArmor parser version 2.9.95 56 Copyright (C) 1999-2008 Novell Inc. 57 Copyright 2009-2012 Canonical Ltd. 58 59 `, 60 version: 209095, 61 }, 62 { 63 output: `AppArmor parser version 3.14.159 64 Copyright (C) 1999-2008 Novell Inc. 65 Copyright 2009-2012 Canonical Ltd. 66 67 `, 68 version: 314159, 69 }, 70 { 71 output: `AppArmor parser version 3.0.0-beta1 72 Copyright (C) 1999-2008 Novell Inc. 73 Copyright 2009-2018 Canonical Ltd. 74 `, 75 version: 300000, 76 }, 77 { 78 output: `AppArmor parser version 3.0.0-beta1-foo-bar 79 Copyright (C) 1999-2008 Novell Inc. 80 Copyright 2009-2018 Canonical Ltd. 81 `, 82 version: 300000, 83 }, 84 } 85 86 for _, v := range versions { 87 version, err := parseVersion(v.output) 88 if err != nil { 89 t.Fatalf("expected error to be nil for %#v, got: %v", v, err) 90 } 91 if version != v.version { 92 t.Fatalf("expected version to be %d, was %d, for: %#v\n", v.version, version, v) 93 } 94 } 95 }