Package utils provides utilities to be used in testing.



    This section is empty.


    This section is empty.


    func InitializeVerificationDB

    func InitializeVerificationDB(ctx context.Context, tb testing.TB, db *database.DB, ha *vm.HealthAuthority, hak *vm.HealthAuthorityKey, sk *SigningKey) int64

      InitializeVerificationDB links the vdb, HA and SigningKeys together

      func IssueJWT

      func IssueJWT(t *testing.T, cfg *JWTConfig) (string, string)

        IssueJWT generates a JWT as if it came from the authorized health authority.


        type JWTConfig

        type JWTConfig struct {
        	HealthAuthority      *vm.HealthAuthority
        	HealthAuthorityKey   *vm.HealthAuthorityKey
        	ExposureKeys         []verifyapi.ExposureKey
        	Key                  crypto.Signer
        	JWTWarp              time.Duration
        	ReportType           string
        	SymptomOnsetInterval uint32

          JWTConfig stores the config used to fetch a verification jwt certificate

          type SigningKey

          type SigningKey struct {
          	Key       *ecdsa.PrivateKey
          	PublicKey string

            SigningKey holds a single signing key and the PEM public key.

            func GetSigningKey

            func GetSigningKey(tb testing.TB) *SigningKey

              GetSigningKey returns a new signing key to be used for verification.

              type StatsJWTConfig

              type StatsJWTConfig struct {
              	HealthAuthority    *vm.HealthAuthority
              	HealthAuthorityKey *vm.HealthAuthorityKey
              	Key                *ecdsa.PrivateKey
              	Audience           string
              	JWTWarp            time.Duration

                StatsJWTConfig represents the configuration for an auth token to call the stats API. Requires the private key to sign JWTs.

                func (*StatsJWTConfig) IssueStatsJWT

                func (c *StatsJWTConfig) IssueStatsJWT(t testing.TB) string

                  IssueStatsJWT issues an auth token to call the stats API. This is meant for test purposes only. Normally these tokens would be issued outside this system.

                  Source Files