feat: Add support for policy inheritence (#113)

* feat: Add support for policy inheritence

* fix: Linter fixes

* Update docs/sandbox.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Abhisek Datta <abhisek.datta@gmail.com>

* fix: Handle boolean inheritence

* ci: Add linter

* Update sandbox/policy_test.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Abhisek Datta <abhisek.datta@gmail.com>

* fix: Linter fixes

* fix: Linter fixes

* fix: Sandbox rule regex format

---------

Signed-off-by: Abhisek Datta <abhisek.datta@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
Abhisek Datta
2026-01-14 10:50:39 +05:30
committed by GitHub
co-authored by Copilot
parent 9693428171
commit 2e1f5b1a36
17 changed files with 815 additions and 58 deletions
+21 -6
View File
@@ -27,7 +27,10 @@ func TestLoggerInitialization(t *testing.T) {
// Initialize logger
err := InitializeWithDir(logDir)
assert.NoError(t, err, "Failed to initialize logger")
defer Close()
defer func() {
err := Close()
assert.NoError(t, err)
}()
// Check that directory was created
_, err = os.Stat(logDir)
@@ -47,7 +50,10 @@ func TestLogEvent(t *testing.T) {
// Initialize logger
err := reinitializeForTest(logDir)
assert.NoError(t, err, "Failed to initialize logger")
defer Close()
defer func() {
err := Close()
assert.NoError(t, err)
}()
// Log an event
event := Event{
@@ -87,7 +93,10 @@ func TestLogMalwareBlocked(t *testing.T) {
// Initialize logger
err := reinitializeForTest(logDir)
assert.NoError(t, err, "Failed to initialize logger")
defer Close()
defer func() {
err := Close()
assert.NoError(t, err)
}()
// Log malware blocked event
LogMalwareBlocked("malicious-pkg", "2.0.0", "pypi", "Contains known malware", nil)
@@ -114,14 +123,17 @@ func TestInitializeWithFile(t *testing.T) {
// Initialize logger with custom file
err := reinitializeForTest("")
if err == nil {
Close()
_ = Close()
}
// Reset for custom file
once = sync.Once{}
err = InitializeWithFile(logFile)
assert.NoError(t, err, "Failed to initialize logger with file")
defer Close()
defer func() {
err := Close()
assert.NoError(t, err)
}()
// Log an event
event := Event{
@@ -177,7 +189,10 @@ func TestCleanupOldLogs(t *testing.T) {
err = logger.init(logDir)
assert.NoError(t, err, "Failed to initialize logger")
defer logger.Close()
defer func() {
err := logger.Close()
assert.NoError(t, err)
}()
// Give cleanup goroutine time to run
time.Sleep(100 * time.Millisecond)