From a0b5362589df8193b4e0357e0382e4cdfc367fe3 Mon Sep 17 00:00:00 2001 From: Alexandre Pujol Date: Tue, 23 Apr 2024 21:35:23 +0100 Subject: [PATCH] refractor(aa): update test structure. --- pkg/aa/apparmor_test.go | 98 ++--------------------------------------- pkg/aa/profile_test.go | 84 +++++++++++++++++++++++++++++++++++ 2 files changed, 88 insertions(+), 94 deletions(-) create mode 100644 pkg/aa/profile_test.go diff --git a/pkg/aa/apparmor_test.go b/pkg/aa/apparmor_test.go index ae39caef..f052e27a 100644 --- a/pkg/aa/apparmor_test.go +++ b/pkg/aa/apparmor_test.go @@ -28,7 +28,7 @@ func readprofile(path string) string { return res[:len(res)-1] } -func TestAppArmorProfile_String(t *testing.T) { +func TestAppArmorProfileFile_String(t *testing.T) { tests := []struct { name string f *AppArmorProfileFile @@ -124,97 +124,7 @@ func TestAppArmorProfile_String(t *testing.T) { } } -func TestAppArmorProfile_AddRule(t *testing.T) { - tests := []struct { - name string - log map[string]string - want *AppArmorProfileFile - }{ - { - name: "capability", - log: capability1Log, - want: &AppArmorProfileFile{ - Profiles: []*Profile{{ - Rules: []Rule{capability1}, - }}, - }, - }, - { - name: "network", - log: network1Log, - want: &AppArmorProfileFile{ - Profiles: []*Profile{{ - Rules: []Rule{network1}, - }}, - }, - }, - { - name: "mount", - log: mount2Log, - want: &AppArmorProfileFile{ - Profiles: []*Profile{{ - Rules: []Rule{mount2}, - }}, - }, - }, - { - name: "signal", - log: signal1Log, - want: &AppArmorProfileFile{ - Profiles: []*Profile{{ - Rules: []Rule{signal1}, - }}, - }, - }, - { - name: "ptrace", - log: ptrace2Log, - want: &AppArmorProfileFile{ - Profiles: []*Profile{{ - Rules: []Rule{ptrace2}, - }}, - }, - }, - { - name: "unix", - log: unix1Log, - want: &AppArmorProfileFile{ - Profiles: []*Profile{{ - Rules: []Rule{unix1}, - }}, - }, - }, - { - name: "dbus", - log: dbus2Log, - want: &AppArmorProfileFile{ - Profiles: []*Profile{{ - Rules: []Rule{dbus2}, - }}, - }, - }, - { - name: "file", - log: file2Log, - want: &AppArmorProfileFile{ - Profiles: []*Profile{{ - Rules: []Rule{file2}, - }}, - }, - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - got := NewAppArmorProfile() - got.AddRule(tt.log) - if !reflect.DeepEqual(got, tt.want) { - t.Errorf("AppArmorProfile.AddRule() = %v, want %v", got, tt.want) - } - }) - } -} - -func TestAppArmorProfile_Sort(t *testing.T) { +func TestAppArmorProfileFile_Sort(t *testing.T) { tests := []struct { name string origin *AppArmorProfileFile @@ -251,7 +161,7 @@ func TestAppArmorProfile_Sort(t *testing.T) { } } -func TestAppArmorProfile_MergeRules(t *testing.T) { +func TestAppArmorProfileFile_MergeRules(t *testing.T) { tests := []struct { name string origin *AppArmorProfileFile @@ -282,7 +192,7 @@ func TestAppArmorProfile_MergeRules(t *testing.T) { } } -func TestAppArmorProfile_Integration(t *testing.T) { +func TestAppArmorProfileFile_Integration(t *testing.T) { tests := []struct { name string f *AppArmorProfileFile diff --git a/pkg/aa/profile_test.go b/pkg/aa/profile_test.go new file mode 100644 index 00000000..26ea6316 --- /dev/null +++ b/pkg/aa/profile_test.go @@ -0,0 +1,84 @@ +// apparmor.d - Full set of apparmor profiles +// Copyright (C) 2021-2024 Alexandre Pujol +// SPDX-License-Identifier: GPL-2.0-only + +package aa + +import ( + "reflect" + "testing" +) + +func TestProfile_AddRule(t *testing.T) { + tests := []struct { + name string + log map[string]string + want *Profile + }{ + { + name: "capability", + log: capability1Log, + want: &Profile{ + Rules: Rules{capability1}, + }, + }, + { + name: "network", + log: network1Log, + want: &Profile{ + Rules: Rules{network1}, + }, + }, + { + name: "mount", + log: mount2Log, + want: &Profile{ + Rules: Rules{mount2}, + }, + }, + { + name: "signal", + log: signal1Log, + want: &Profile{ + Rules: Rules{signal1}, + }, + }, + { + name: "ptrace", + log: ptrace2Log, + want: &Profile{ + Rules: Rules{ptrace2}, + }, + }, + { + name: "unix", + log: unix1Log, + want: &Profile{ + Rules: Rules{unix1}, + }, + }, + { + name: "dbus", + log: dbus2Log, + want: &Profile{ + Rules: Rules{dbus2}, + }, + }, + { + name: "file", + log: file2Log, + want: &Profile{ + Rules: Rules{file2}, + }, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got := &Profile{} + got.AddRule(tt.log) + if !reflect.DeepEqual(got, tt.want) { + t.Errorf("Profile.AddRule() = |%v|, want |%v|", got, tt.want) + } + }) + } +}