Documentation
¶
Index ¶
Constants ¶
View Source
const ManifestJSON string = `` /* 2772-byte string literal not displayed */
ManifestJSON is a test manifest
View Source
const UpdateManifest = `{
"Packages": {
"frontend": {
"SecurityVersion": 5
}
}
}`
UpdateManifest is a test update manifest
View Source
const UserSecrets = `` /* 720-byte string literal not displayed */
UserSecrets is a test JSON string to update secrets
Variables ¶
View Source
var AdminCert = mustGenerateAdminTestCert(RecoveryPrivateKey)
AdminCert is an automatically generated test certificate used for unit tests for API features needing additional authentication.
View Source
var IntegrationManifestJSON string = `{ "Packages": { "backend": { "Debug": true, "SecurityVersion": 1, "ProductID": 3 }, "frontend": { "Debug": true, "SecurityVersion": 2, "ProductID": 3 } }, "Infrastructures": { "Azure": { "QESVN": 2, "PCESVN": 3, "CPUSVN": [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15], "RootCA": [3,3,3] } }, "Marbles": { "test_marble_server": { "Package": "backend", "Parameters": { "Files": { "/tmp/coordinator_test/defg.txt": "foo", "/tmp/coordinator_test/jkl.mno": "bar" }, "Argv": [ "./marble", "serve" ], "Env": { "IS_FIRST": "true", "SEAL_KEY": "{{ hex .Marblerun.SealKey }}" } } }, "test_marble_client": { "Package": "backend", "Parameters": { "Files": { "/tmp/coordinator_test/defg.txt": "foo", "/tmp/coordinator_test/jkl.mno": "bar" }, "Env": { "IS_FIRST": "true", "SEAL_KEY": "{{ hex .Marblerun.SealKey }}" } } }, "test_marble_unset": { "Package": "backend", "Parameters": { "Files": { "/tmp/coordinator_test/defg.txt": "foo", "/tmp/coordinator_test/jkl.mno": "bar", "/tmp/coordinator_test/pqr.txt": "user-defined secret: {{ hex .Secrets.symmetric_key_unset }} {{ pem .Secrets.cert_unset.Private }}" }, "Env": { "IS_FIRST": "true", "SEAL_KEY": "{{ hex .Marblerun.SealKey }}" } } }, "bad_marble": { "Package": "frontend", "Parameters": { "Files": { "/tmp/coordinator_test/defg.txt": "foo", "/tmp/coordinator_test/jkl.mno": "bar" }, "Env": { "SEAL_KEY": "{{ hex .Marblerun.SealKey }}" } } } }, "Clients": { "owner": [9,9,9] }, "Secrets" :{ "symmetric_key_shared": { "Size": 128, "Shared": true, "Type": "symmetric-key" }, "symmetric_key_unset": { "Shared": true, "Type": "symmetric-key", "Size": 128, "UserDefined": true }, "cert_unset": { "Shared": true, "Type": "cert-ed25519", "UserDefined": true } }, "Users": { "admin": { "Certificate": "` + pemToJSONString(AdminCert) + `", "Roles": [ "write_role", "read_role", "update_role" ] } }, "RecoveryKeys": { "testRecKey1": "` + pemToJSONString(RecoveryPublicKey) + `" }, "Roles": { "write_role": { "ResourceType": "Secrets", "ResourceNames": [ "symmetric_key_unset", "cert_unset" ], "Actions": [ "WriteSecret" ] }, "read_role": { "ResourceType": "Secrets", "ResourceNames": [ "symmetric_key_shared" ], "Actions": [ "ReadSecret" ] }, "update_role": { "ResourceType": "Packages", "ResourceNames": [ "frontend", "backend" ], "Actions": [ "UpdateSecurityVersion" ] } } }`
IntegrationManifestJSON is a test manifest
View Source
var ManifestJSONMissingParameters string = `` /* 398-byte string literal not displayed */
ManifestJSONMissingParameters is a test manifest
View Source
var ManifestJSONWithRecoveryKey string = `{ "Packages": { "frontend": { "SignerID": "1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100", "ProductID": 44, "SecurityVersion": 3, "Debug": true } }, "Infrastructures": { "Azure": { "QESVN": 2, "PCESVN": 3, "CPUSVN": [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15], "RootCA": [3,3,3] } }, "Marbles": { "frontend": { "Package": "frontend", "Parameters": { "Env": { "SEAL_KEY": "{{ hex .Marblerun.SealKey }}" } } } }, "Secrets": { "restricted_secret": { "Size": 128, "Shared": true, "Type": "symmetric-key" }, "symmetric_key_shared": { "Size": 128, "Shared": true, "Type": "symmetric-key" }, "symmetric_key_private": { "Size": 256, "Type": "symmetric-key" }, "cert_private": { "Size": 2048, "Type": "cert-rsa", "Cert": { "SerialNumber": 42, "Subject": { "SerialNumber": "42", "CommonName": "Marblerun Unit Test" } }, "ValidFor": 7 }, "cert_shared": { "Shared": true, "Type": "cert-ed25519", "Cert": { "SerialNumber": 1337, "Subject": { "SerialNumber": "1337", "CommonName": "Marblerun Unit Test" } }, "ValidFor": 7 }, "symmetric_key_unset": { "Type": "symmetric-key", "Size": 128, "UserDefined": true }, "cert_unset": { "Type": "cert-ed25519", "UserDefined": true }, "generic_secret": { "UserDefined": true, "Type": "plain" } }, "Clients": { "owner": [9,9,9] }, "Users": { "admin": { "Certificate": "` + pemToJSONString(AdminCert) + `", "Roles": [ "secret_manager", "read_only", "update_manager" ] } }, "RecoveryKeys": { "testRecKey1": "` + pemToJSONString(RecoveryPublicKey) + `" }, "Roles": { "secret_manager": { "ResourceType": "Secrets", "ResourceNames": [ "symmetric_key_unset", "cert_unset", "generic_secret" ], "Actions": [ "ReadSecret", "WriteSecret" ] }, "read_only": { "ResourceType": "Secrets", "ResourceNames": [ "symmetric_key_shared", "cert_shared" ], "Actions": [ "ReadSecret" ] }, "update_manager": { "ResourceType": "Packages", "ResourceNames": [ "frontend" ], "Actions": [ "UpdateSecurityVersion" ] } } }`
ManifestJSONWithRecoveryKey is a test manifest with a dynamically generated RSA key
View Source
var RecoveryPublicKey, RecoveryPrivateKey = generateTestRecoveryKey()
Functions ¶
func MustSetupTestCerts ¶ added in v0.3.0
func MustSetupTestCerts(key *rsa.PrivateKey) (*x509.Certificate, *x509.Certificate)
MustSetupTestCerts can be used by other unit tests to test authentication features, in which one certificate matches the generated admin certificate, and the other is just a randomly generated one
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.