1// Package unit performs initialization and validation for unit tests 2package unit 3 4import ( 5 "context" 6 "crypto/rsa" 7 "math/big" 8 9 "github.com/aws/aws-sdk-go-v2/aws" 10) 11 12func init() { 13 config = aws.Config{} 14 config.Region = "mock-region" 15 config.Credentials = StubCredentialsProvider{} 16} 17 18// StubCredentialsProvider provides a stub credential provider that returns 19// static credentials that never expire. 20type StubCredentialsProvider struct{} 21 22// Retrieve satisfies the CredentialsProvider interface. Returns stub 23// credential value, and never error. 24func (StubCredentialsProvider) Retrieve(context.Context) (aws.Credentials, error) { 25 return aws.Credentials{ 26 AccessKeyID: "AKID", SecretAccessKey: "SECRET", SessionToken: "SESSION", 27 Source: "unit test credentials", 28 }, nil 29} 30 31var config aws.Config 32 33// Config returns a copy of the mock configuration for unit tests. 34func Config() aws.Config { return config.Copy() } 35 36// RSAPrivateKey is used for testing functionality that requires some 37// sort of private key. Taken from crypto/rsa/rsa_test.go 38// 39// Credit to golang 1.11 40var RSAPrivateKey = &rsa.PrivateKey{ 41 PublicKey: rsa.PublicKey{ 42 N: fromBase10("14314132931241006650998084889274020608918049032671858325988396851334124245188214251956198731333464217832226406088020736932173064754214329009979944037640912127943488972644697423190955557435910767690712778463524983667852819010259499695177313115447116110358524558307947613422897787329221478860907963827160223559690523660574329011927531289655711860504630573766609239332569210831325633840174683944553667352219670930408593321661375473885147973879086994006440025257225431977751512374815915392249179976902953721486040787792801849818254465486633791826766873076617116727073077821584676715609985777563958286637185868165868520557"), 43 E: 3, 44 }, 45 D: fromBase10("9542755287494004433998723259516013739278699355114572217325597900889416163458809501304132487555642811888150937392013824621448709836142886006653296025093941418628992648429798282127303704957273845127141852309016655778568546006839666463451542076964744073572349705538631742281931858219480985907271975884773482372966847639853897890615456605598071088189838676728836833012254065983259638538107719766738032720239892094196108713378822882383694456030043492571063441943847195939549773271694647657549658603365629458610273821292232646334717612674519997533901052790334279661754176490593041941863932308687197618671528035670452762731"), 46 Primes: []*big.Int{ 47 fromBase10("130903255182996722426771613606077755295583329135067340152947172868415809027537376306193179624298874215608270802054347609836776473930072411958753044562214537013874103802006369634761074377213995983876788718033850153719421695468704276694983032644416930879093914927146648402139231293035971427838068945045019075433"), 48 fromBase10("109348945610485453577574767652527472924289229538286649661240938988020367005475727988253438647560958573506159449538793540472829815903949343191091817779240101054552748665267574271163617694640513549693841337820602726596756351006149518830932261246698766355347898158548465400674856021497190430791824869615170301029"), 49 }, 50} 51 52// Taken from crypto/rsa/rsa_test.go 53// 54// Credit to golang 1.11 55func fromBase10(base10 string) *big.Int { 56 i, ok := new(big.Int).SetString(base10, 10) 57 if !ok { 58 panic("bad number: " + base10) 59 } 60 return i 61} 62