feat: Add opt-in support for proxy CA cert installation (#318)

* feat: Add opt-in support for proxy CA cert installation

* fix: Code review fixes

* fix: Code review fixes

* fix: Code review fixes

* fix: Code review fixes

* fix: Code review fixes

* docs: Add limitation for MacOS MDM script
This commit is contained in:
Abhisek Datta
2026-06-03 23:15:02 +05:30
committed by GitHub
parent c3f3920d2e
commit 4f0db15ede
31 changed files with 1806 additions and 77 deletions
+43
View File
@@ -0,0 +1,43 @@
package flows
import (
"os"
"testing"
"github.com/safedep/pmg/proxy/certmanager"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestLoadPersistedCAAbsent(t *testing.T) {
_, ok := loadPersistedCA(t.TempDir())
assert.False(t, ok)
}
func TestLoadPersistedCAPresent(t *testing.T) {
dir := t.TempDir()
ca, err := certmanager.GenerateCA(certmanager.PersistentCACertManagerConfig())
require.NoError(t, err)
require.NoError(t, certmanager.SaveCA(dir, ca))
loaded, ok := loadPersistedCA(dir)
require.True(t, ok)
assert.Equal(t, ca.Certificate, loaded.Certificate)
}
// TestSetupCACertificateWritesMergedTempFile verifies that setupCACertificate
// creates a temp file containing the pure CA as a prefix of the merged bundle.
// config.Get() is safe to call without setup — it is initialised via package init.
func TestSetupCACertificateWritesMergedTempFile(t *testing.T) {
f := &proxyFlow{}
caCert, path, err := f.setupCACertificate()
require.NoError(t, err)
t.Cleanup(func() { _ = os.Remove(path) })
require.NotNil(t, caCert)
assert.FileExists(t, path)
merged, err := os.ReadFile(path)
require.NoError(t, err)
assert.Equal(t, caCert.Certificate, merged[:len(caCert.Certificate)])
}