Skip to content

BRE-141 Refactor Release workflow to split deploy/publish steps #126

BRE-141 Refactor Release workflow to split deploy/publish steps

BRE-141 Refactor Release workflow to split deploy/publish steps #126

GitHub Actions / Test Results succeeded Sep 3, 2024 in 0s

221 passed, 0 failed and 0 skipped

Tests passed successfully

✅ junit.xml

221 tests were completed in 7s with 221 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
Attachment 4✅ 263ms
Card 4✅ 332ms
Cipher DTO 13✅ 3s
Cipher Service 1✅ 623ms
cleanUserAgent 4✅ 319ms
Collection 3✅ 331ms
ConsoleLogService 7✅ 533ms
ConsoleLogService 9✅ 517ms
ElectronLogService 1✅ 219ms
EncString 15✅ 312ms
Field 4✅ 278ms
Folder 2✅ 233ms
Identity 4✅ 366ms
Login DTO 5✅ 342ms
LogInStrategy 8✅ 2s
LogInStrategy 12✅ 363ms
LogInStrategy 11✅ 366ms
LogInStrategy 10✅ 381ms
LoginUri 4✅ 237ms
NodeCrypto Function Service 61✅ 3s
Password 4✅ 242ms
SecureNote 4✅ 186ms
Send 3✅ 653ms
SendAccess 3✅ 328ms
SendFile 3✅ 228ms
SendText 3✅ 185ms
sequentialize decorator 9✅ 1s
SymmetricCryptoKey 5✅ 298ms
throttle decorator 5✅ 483ms

✅ Attachment

Attachment Convert from empty
  ✅ Attachment Convert from empty
Attachment Convert
  ✅ Attachment Convert
Attachment toAttachmentData
  ✅ Attachment toAttachmentData
Attachment Decrypt
  ✅ Attachment Decrypt

✅ Card

Card Convert from empty
  ✅ Card Convert from empty
Card Convert
  ✅ Card Convert
Card toCardData
  ✅ Card toCardData
Card Decrypt
  ✅ Card Decrypt

✅ Cipher DTO

Cipher DTO Convert from empty CipherData
  ✅ Cipher DTO Convert from empty CipherData
Cipher DTO LoginCipher Convert
  ✅ Cipher DTO LoginCipher Convert
Cipher DTO LoginCipher toCipherData
  ✅ Cipher DTO LoginCipher toCipherData
Cipher DTO LoginCipher Decrypt
  ✅ Cipher DTO LoginCipher Decrypt
Cipher DTO SecureNoteCipher Convert
  ✅ Cipher DTO SecureNoteCipher Convert
Cipher DTO SecureNoteCipher toCipherData
  ✅ Cipher DTO SecureNoteCipher toCipherData
Cipher DTO SecureNoteCipher Decrypt
  ✅ Cipher DTO SecureNoteCipher Decrypt
Cipher DTO CardCipher Convert
  ✅ Cipher DTO CardCipher Convert
Cipher DTO CardCipher toCipherData
  ✅ Cipher DTO CardCipher toCipherData
Cipher DTO CardCipher Decrypt
  ✅ Cipher DTO CardCipher Decrypt
Cipher DTO IdentityCipher Convert
  ✅ Cipher DTO IdentityCipher Convert
Cipher DTO IdentityCipher toCipherData
  ✅ Cipher DTO IdentityCipher toCipherData
Cipher DTO IdentityCipher Decrypt
  ✅ Cipher DTO IdentityCipher Decrypt

✅ Cipher Service

Cipher Service attachments upload encrypted file contents
  ✅ Cipher Service attachments upload encrypted file contents

✅ cleanUserAgent

cleanUserAgent cleans mac agent
  ✅ cleanUserAgent cleans mac agent
cleanUserAgent cleans windows agent
  ✅ cleanUserAgent cleans windows agent
cleanUserAgent cleans linux agent
  ✅ cleanUserAgent cleans linux agent
cleanUserAgent does not change version numbers
  ✅ cleanUserAgent does not change version numbers

✅ Collection

Collection Convert from empty
  ✅ Collection Convert from empty
Collection Convert
  ✅ Collection Convert
Collection Decrypt
  ✅ Collection Decrypt

✅ ConsoleLogService

ConsoleLogService filters messages below the set threshold
  ✅ ConsoleLogService filters messages below the set threshold
ConsoleLogService only writes debug messages in dev mode
  ✅ ConsoleLogService only writes debug messages in dev mode
ConsoleLogService writes debug/info messages to console.log
  ✅ ConsoleLogService writes debug/info messages to console.log
ConsoleLogService writes warning messages to console.warn
  ✅ ConsoleLogService writes warning messages to console.warn
ConsoleLogService writes error messages to console.error
  ✅ ConsoleLogService writes error messages to console.error
ConsoleLogService times with output to info
  ✅ ConsoleLogService times with output to info
ConsoleLogService filters time output
  ✅ ConsoleLogService filters time output

✅ ConsoleLogService

ConsoleLogService filters messages below the set threshold
  ✅ ConsoleLogService filters messages below the set threshold
ConsoleLogService only writes debug messages in dev mode
  ✅ ConsoleLogService only writes debug messages in dev mode
ConsoleLogService writes debug/info messages to console.log
  ✅ ConsoleLogService writes debug/info messages to console.log
ConsoleLogService writes warning messages to console.warn
  ✅ ConsoleLogService writes warning messages to console.warn
ConsoleLogService writes error messages to console.error
  ✅ ConsoleLogService writes error messages to console.error
ConsoleLogService times with output to info
  ✅ ConsoleLogService times with output to info
ConsoleLogService filters time output
  ✅ ConsoleLogService filters time output
CLI Console log service should redirect all console to error if BW_RESPONSE env is true
  ✅ CLI Console log service should redirect all console to error if BW_RESPONSE env is true
CLI Console log service should not redirect console to error if BW_RESPONSE != true
  ✅ CLI Console log service should not redirect console to error if BW_RESPONSE != true

✅ ElectronLogService

ElectronLogService sets dev based on electron method
  ✅ ElectronLogService sets dev based on electron method

✅ EncString

EncString Rsa2048_OaepSha256_B64 constructor
  ✅ EncString Rsa2048_OaepSha256_B64 constructor
EncString Rsa2048_OaepSha256_B64 parse existing valid
  ✅ EncString Rsa2048_OaepSha256_B64 parse existing valid
EncString Rsa2048_OaepSha256_B64 parse existing invalid
  ✅ EncString Rsa2048_OaepSha256_B64 parse existing invalid
EncString Rsa2048_OaepSha256_B64 decrypt decrypts correctly
  ✅ EncString Rsa2048_OaepSha256_B64 decrypt decrypts correctly
EncString Rsa2048_OaepSha256_B64 decrypt result should be cached
  ✅ EncString Rsa2048_OaepSha256_B64 decrypt result should be cached
EncString AesCbc256_B64 constructor
  ✅ EncString AesCbc256_B64 constructor
EncString AesCbc256_B64 parse existing valid
  ✅ EncString AesCbc256_B64 parse existing valid
EncString AesCbc256_B64 parse existing invalid
  ✅ EncString AesCbc256_B64 parse existing invalid
EncString AesCbc256_HmacSha256_B64 constructor
  ✅ EncString AesCbc256_HmacSha256_B64 constructor
EncString AesCbc256_HmacSha256_B64 valid
  ✅ EncString AesCbc256_HmacSha256_B64 valid
EncString AesCbc256_HmacSha256_B64 invalid
  ✅ EncString AesCbc256_HmacSha256_B64 invalid
EncString Exit early if null
  ✅ EncString Exit early if null
EncString decrypt throws exception when bitwarden container not initialized
  ✅ EncString decrypt throws exception when bitwarden container not initialized
EncString decrypt handles value it can't decrypt
  ✅ EncString decrypt handles value it can't decrypt
EncString decrypt passes along key
  ✅ EncString decrypt passes along key

✅ Field

Field Convert from empty
  ✅ Field Convert from empty
Field Convert
  ✅ Field Convert
Field toFieldData
  ✅ Field toFieldData
Field Decrypt
  ✅ Field Decrypt

✅ Folder

Folder Convert
  ✅ Folder Convert
Folder Decrypt
  ✅ Folder Decrypt

✅ Identity

Identity Convert from empty
  ✅ Identity Convert from empty
Identity Convert
  ✅ Identity Convert
Identity toIdentityData
  ✅ Identity toIdentityData
Identity Decrypt
  ✅ Identity Decrypt

✅ Login DTO

Login DTO Convert from empty LoginData
  ✅ Login DTO Convert from empty LoginData
Login DTO Convert from full LoginData
  ✅ Login DTO Convert from full LoginData
Login DTO Initialize without LoginData
  ✅ Login DTO Initialize without LoginData
Login DTO Decrypts correctly
  ✅ Login DTO Decrypts correctly
Login DTO Converts from LoginData and back
  ✅ Login DTO Converts from LoginData and back

✅ LogInStrategy

LogInStrategy base class sets the local environment after a successful login
  ✅ LogInStrategy base class sets the local environment after a successful login
LogInStrategy base class builds AuthResult
  ✅ LogInStrategy base class builds AuthResult
LogInStrategy base class rejects login if CAPTCHA is required
  ✅ LogInStrategy base class rejects login if CAPTCHA is required
LogInStrategy base class makes a new public and private key for an old account
  ✅ LogInStrategy base class makes a new public and private key for an old account
LogInStrategy Two-factor authentication rejects login if 2FA is required
  ✅ LogInStrategy Two-factor authentication rejects login if 2FA is required
LogInStrategy Two-factor authentication sends stored 2FA token to server
  ✅ LogInStrategy Two-factor authentication sends stored 2FA token to server
LogInStrategy Two-factor authentication sends 2FA token provided by user to server (single step)
  ✅ LogInStrategy Two-factor authentication sends 2FA token provided by user to server (single step)
LogInStrategy Two-factor authentication sends 2FA token provided by user to server (two-step)
  ✅ LogInStrategy Two-factor authentication sends 2FA token provided by user to server (two-step)

✅ LogInStrategy

LogInStrategy base class sets the local environment after a successful login
  ✅ LogInStrategy base class sets the local environment after a successful login
LogInStrategy base class builds AuthResult
  ✅ LogInStrategy base class builds AuthResult
LogInStrategy base class rejects login if CAPTCHA is required
  ✅ LogInStrategy base class rejects login if CAPTCHA is required
LogInStrategy base class makes a new public and private key for an old account
  ✅ LogInStrategy base class makes a new public and private key for an old account
LogInStrategy Two-factor authentication rejects login if 2FA is required
  ✅ LogInStrategy Two-factor authentication rejects login if 2FA is required
LogInStrategy Two-factor authentication sends stored 2FA token to server
  ✅ LogInStrategy Two-factor authentication sends stored 2FA token to server
LogInStrategy Two-factor authentication sends 2FA token provided by user to server (single step)
  ✅ LogInStrategy Two-factor authentication sends 2FA token provided by user to server (single step)
LogInStrategy Two-factor authentication sends 2FA token provided by user to server (two-step)
  ✅ LogInStrategy Two-factor authentication sends 2FA token provided by user to server (two-step)
SsoLogInStrategy sends SSO information to server
  ✅ SsoLogInStrategy sends SSO information to server
SsoLogInStrategy does not set keys for new SSO user flow
  ✅ SsoLogInStrategy does not set keys for new SSO user flow
SsoLogInStrategy gets and sets KeyConnector key for enrolled user
  ✅ SsoLogInStrategy gets and sets KeyConnector key for enrolled user
SsoLogInStrategy converts new SSO user to Key Connector on first login
  ✅ SsoLogInStrategy converts new SSO user to Key Connector on first login

✅ LogInStrategy

LogInStrategy base class sets the local environment after a successful login
  ✅ LogInStrategy base class sets the local environment after a successful login
LogInStrategy base class builds AuthResult
  ✅ LogInStrategy base class builds AuthResult
LogInStrategy base class rejects login if CAPTCHA is required
  ✅ LogInStrategy base class rejects login if CAPTCHA is required
LogInStrategy base class makes a new public and private key for an old account
  ✅ LogInStrategy base class makes a new public and private key for an old account
LogInStrategy Two-factor authentication rejects login if 2FA is required
  ✅ LogInStrategy Two-factor authentication rejects login if 2FA is required
LogInStrategy Two-factor authentication sends stored 2FA token to server
  ✅ LogInStrategy Two-factor authentication sends stored 2FA token to server
LogInStrategy Two-factor authentication sends 2FA token provided by user to server (single step)
  ✅ LogInStrategy Two-factor authentication sends 2FA token provided by user to server (single step)
LogInStrategy Two-factor authentication sends 2FA token provided by user to server (two-step)
  ✅ LogInStrategy Two-factor authentication sends 2FA token provided by user to server (two-step)
ApiLogInStrategy sends api key credentials to the server
  ✅ ApiLogInStrategy sends api key credentials to the server
ApiLogInStrategy sets the local environment after a successful login
  ✅ ApiLogInStrategy sets the local environment after a successful login
ApiLogInStrategy gets and sets the Key Connector key from environmentUrl
  ✅ ApiLogInStrategy gets and sets the Key Connector key from environmentUrl

✅ LogInStrategy

LogInStrategy base class sets the local environment after a successful login
  ✅ LogInStrategy base class sets the local environment after a successful login
LogInStrategy base class builds AuthResult
  ✅ LogInStrategy base class builds AuthResult
LogInStrategy base class rejects login if CAPTCHA is required
  ✅ LogInStrategy base class rejects login if CAPTCHA is required
LogInStrategy base class makes a new public and private key for an old account
  ✅ LogInStrategy base class makes a new public and private key for an old account
LogInStrategy Two-factor authentication rejects login if 2FA is required
  ✅ LogInStrategy Two-factor authentication rejects login if 2FA is required
LogInStrategy Two-factor authentication sends stored 2FA token to server
  ✅ LogInStrategy Two-factor authentication sends stored 2FA token to server
LogInStrategy Two-factor authentication sends 2FA token provided by user to server (single step)
  ✅ LogInStrategy Two-factor authentication sends 2FA token provided by user to server (single step)
LogInStrategy Two-factor authentication sends 2FA token provided by user to server (two-step)
  ✅ LogInStrategy Two-factor authentication sends 2FA token provided by user to server (two-step)
PasswordLogInStrategy sends master password credentials to the server
  ✅ PasswordLogInStrategy sends master password credentials to the server
PasswordLogInStrategy sets the local environment after a successful login
  ✅ PasswordLogInStrategy sets the local environment after a successful login

✅ LoginUri

LoginUri Convert from empty
  ✅ LoginUri Convert from empty
LoginUri Convert
  ✅ LoginUri Convert
LoginUri toLoginUriData
  ✅ LoginUri toLoginUriData
LoginUri Decrypt
  ✅ LoginUri Decrypt

✅ NodeCrypto Function Service

NodeCrypto Function Service pbkdf2 should create valid sha256 key from regular input
  ✅ NodeCrypto Function Service pbkdf2 should create valid sha256 key from regular input
NodeCrypto Function Service pbkdf2 should create valid sha256 key from utf8 input
  ✅ NodeCrypto Function Service pbkdf2 should create valid sha256 key from utf8 input
NodeCrypto Function Service pbkdf2 should create valid sha256 key from unicode input
  ✅ NodeCrypto Function Service pbkdf2 should create valid sha256 key from unicode input
NodeCrypto Function Service pbkdf2 should create valid sha256 key from array buffer input
  ✅ NodeCrypto Function Service pbkdf2 should create valid sha256 key from array buffer input
NodeCrypto Function Service pbkdf2 should create valid sha512 key from regular input
  ✅ NodeCrypto Function Service pbkdf2 should create valid sha512 key from regular input
NodeCrypto Function Service pbkdf2 should create valid sha512 key from utf8 input
  ✅ NodeCrypto Function Service pbkdf2 should create valid sha512 key from utf8 input
NodeCrypto Function Service pbkdf2 should create valid sha512 key from unicode input
  ✅ NodeCrypto Function Service pbkdf2 should create valid sha512 key from unicode input
NodeCrypto Function Service pbkdf2 should create valid sha512 key from array buffer input
  ✅ NodeCrypto Function Service pbkdf2 should create valid sha512 key from array buffer input
NodeCrypto Function Service hkdf should create valid sha256 key from regular input
  ✅ NodeCrypto Function Service hkdf should create valid sha256 key from regular input
NodeCrypto Function Service hkdf should create valid sha256 key from utf8 input
  ✅ NodeCrypto Function Service hkdf should create valid sha256 key from utf8 input
NodeCrypto Function Service hkdf should create valid sha256 key from unicode input
  ✅ NodeCrypto Function Service hkdf should create valid sha256 key from unicode input
NodeCrypto Function Service hkdf should create valid sha256 key from array buffer input
  ✅ NodeCrypto Function Service hkdf should create valid sha256 key from array buffer input
NodeCrypto Function Service hkdf should create valid sha512 key from regular input
  ✅ NodeCrypto Function Service hkdf should create valid sha512 key from regular input
NodeCrypto Function Service hkdf should create valid sha512 key from utf8 input
  ✅ NodeCrypto Function Service hkdf should create valid sha512 key from utf8 input
NodeCrypto Function Service hkdf should create valid sha512 key from unicode input
  ✅ NodeCrypto Function Service hkdf should create valid sha512 key from unicode input
NodeCrypto Function Service hkdf should create valid sha512 key from array buffer input
  ✅ NodeCrypto Function Service hkdf should create valid sha512 key from array buffer input
NodeCrypto Function Service hkdfExpand should create valid sha256 32 byte okm
  ✅ NodeCrypto Function Service hkdfExpand should create valid sha256 32 byte okm
NodeCrypto Function Service hkdfExpand should create valid sha256 64 byte okm
  ✅ NodeCrypto Function Service hkdfExpand should create valid sha256 64 byte okm
NodeCrypto Function Service hkdfExpand should create valid sha512 32 byte okm
  ✅ NodeCrypto Function Service hkdfExpand should create valid sha512 32 byte okm
NodeCrypto Function Service hkdfExpand should create valid sha512 64 byte okm
  ✅ NodeCrypto Function Service hkdfExpand should create valid sha512 64 byte okm
NodeCrypto Function Service hkdfExpand should fail with prk too small
  ✅ NodeCrypto Function Service hkdfExpand should fail with prk too small
NodeCrypto Function Service hkdfExpand should fail with outputByteSize is too large
  ✅ NodeCrypto Function Service hkdfExpand should fail with outputByteSize is too large
NodeCrypto Function Service hash should create valid sha1 hash from regular input
  ✅ NodeCrypto Function Service hash should create valid sha1 hash from regular input
NodeCrypto Function Service hash should create valid sha1 hash from utf8 input
  ✅ NodeCrypto Function Service hash should create valid sha1 hash from utf8 input
NodeCrypto Function Service hash should create valid sha1 hash from unicode input
  ✅ NodeCrypto Function Service hash should create valid sha1 hash from unicode input
NodeCrypto Function Service hash should create valid sha1 hash from array buffer input
  ✅ NodeCrypto Function Service hash should create valid sha1 hash from array buffer input
NodeCrypto Function Service hash should create valid sha256 hash from regular input
  ✅ NodeCrypto Function Service hash should create valid sha256 hash from regular input
NodeCrypto Function Service hash should create valid sha256 hash from utf8 input
  ✅ NodeCrypto Function Service hash should create valid sha256 hash from utf8 input
NodeCrypto Function Service hash should create valid sha256 hash from unicode input
  ✅ NodeCrypto Function Service hash should create valid sha256 hash from unicode input
NodeCrypto Function Service hash should create valid sha256 hash from array buffer input
  ✅ NodeCrypto Function Service hash should create valid sha256 hash from array buffer input
NodeCrypto Function Service hash should create valid sha512 hash from regular input
  ✅ NodeCrypto Function Service hash should create valid sha512 hash from regular input
NodeCrypto Function Service hash should create valid sha512 hash from utf8 input
  ✅ NodeCrypto Function Service hash should create valid sha512 hash from utf8 input
NodeCrypto Function Service hash should create valid sha512 hash from unicode input
  ✅ NodeCrypto Function Service hash should create valid sha512 hash from unicode input
NodeCrypto Function Service hash should create valid sha512 hash from array buffer input
  ✅ NodeCrypto Function Service hash should create valid sha512 hash from array buffer input
NodeCrypto Function Service hash should create valid md5 hash from regular input
  ✅ NodeCrypto Function Service hash should create valid md5 hash from regular input
NodeCrypto Function Service hash should create valid md5 hash from utf8 input
  ✅ NodeCrypto Function Service hash should create valid md5 hash from utf8 input
NodeCrypto Function Service hash should create valid md5 hash from unicode input
  ✅ NodeCrypto Function Service hash should create valid md5 hash from unicode input
NodeCrypto Function Service hash should create valid md5 hash from array buffer input
  ✅ NodeCrypto Function Service hash should create valid md5 hash from array buffer input
NodeCrypto Function Service hmac should create valid sha1 hmac
  ✅ NodeCrypto Function Service hmac should create valid sha1 hmac
NodeCrypto Function Service hmac should create valid sha256 hmac
  ✅ NodeCrypto Function Service hmac should create valid sha256 hmac
NodeCrypto Function Service hmac should create valid sha512 hmac
  ✅ NodeCrypto Function Service hmac should create valid sha512 hmac
NodeCrypto Function Service compare should successfully compare two of the same values
  ✅ NodeCrypto Function Service compare should successfully compare two of the same values
NodeCrypto Function Service compare should successfully compare two different values of the same length
  ✅ NodeCrypto Function Service compare should successfully compare two different values of the same length
NodeCrypto Function Service compare should successfully compare two different values of different lengths
  ✅ NodeCrypto Function Service compare should successfully compare two different values of different lengths
NodeCrypto Function Service hmacFast should create valid sha1 hmac
  ✅ NodeCrypto Function Service hmacFast should create valid sha1 hmac
NodeCrypto Function Service hmacFast should create valid sha256 hmac
  ✅ NodeCrypto Function Service hmacFast should create valid sha256 hmac
NodeCrypto Function Service hmacFast should create valid sha512 hmac
  ✅ NodeCrypto Function Service hmacFast should create valid sha512 hmac
NodeCrypto Function Service compareFast should successfully compare two of the same values
  ✅ NodeCrypto Function Service compareFast should successfully compare two of the same values
NodeCrypto Function Service compareFast should successfully compare two different values of the same length
  ✅ NodeCrypto Function Service compareFast should successfully compare two different values of the same length
NodeCrypto Function Service compareFast should successfully compare two different values of different lengths
  ✅ NodeCrypto Function Service compareFast should successfully compare two different values of different lengths
NodeCrypto Function Service aesEncrypt should successfully encrypt data
  ✅ NodeCrypto Function Service aesEncrypt should successfully encrypt data
NodeCrypto Function Service aesEncrypt should successfully encrypt and then decrypt data
  ✅ NodeCrypto Function Service aesEncrypt should successfully encrypt and then decrypt data
NodeCrypto Function Service aesDecryptFast should successfully decrypt data
  ✅ NodeCrypto Function Service aesDecryptFast should successfully decrypt data
NodeCrypto Function Service aesDecrypt should successfully decrypt data
  ✅ NodeCrypto Function Service aesDecrypt should successfully decrypt data
NodeCrypto Function Service rsaEncrypt should successfully encrypt and then decrypt data
  ✅ NodeCrypto Function Service rsaEncrypt should successfully encrypt and then decrypt data
NodeCrypto Function Service rsaDecrypt should successfully decrypt data
  ✅ NodeCrypto Function Service rsaDecrypt should successfully decrypt data
NodeCrypto Function Service rsaExtractPublicKey should successfully extract key
  ✅ NodeCrypto Function Service rsaExtractPublicKey should successfully extract key
NodeCrypto Function Service rsaGenerateKeyPair should successfully generate a 1024 bit key pair
  ✅ NodeCrypto Function Service rsaGenerateKeyPair should successfully generate a 1024 bit key pair
NodeCrypto Function Service rsaGenerateKeyPair should successfully generate a 2048 bit key pair
  ✅ NodeCrypto Function Service rsaGenerateKeyPair should successfully generate a 2048 bit key pair
NodeCrypto Function Service randomBytes should make a value of the correct length
  ✅ NodeCrypto Function Service randomBytes should make a value of the correct length
NodeCrypto Function Service randomBytes should not make the same value twice
  ✅ NodeCrypto Function Service randomBytes should not make the same value twice

✅ Password

Password Convert from empty
  ✅ Password Convert from empty
Password Convert
  ✅ Password Convert
Password toPasswordHistoryData
  ✅ Password toPasswordHistoryData
Password Decrypt
  ✅ Password Decrypt

✅ SecureNote

SecureNote Convert from empty
  ✅ SecureNote Convert from empty
SecureNote Convert
  ✅ SecureNote Convert
SecureNote toSecureNoteData
  ✅ SecureNote toSecureNoteData
SecureNote Decrypt
  ✅ SecureNote Decrypt

✅ Send

Send Convert from empty
  ✅ Send Convert from empty
Send Convert
  ✅ Send Convert
Send Decrypt
  ✅ Send Decrypt

✅ SendAccess

SendAccess Convert from empty
  ✅ SendAccess Convert from empty
SendAccess Convert
  ✅ SendAccess Convert
SendAccess Decrypt
  ✅ SendAccess Decrypt

✅ SendFile

SendFile Convert from empty
  ✅ SendFile Convert from empty
SendFile Convert
  ✅ SendFile Convert
SendFile Decrypt
  ✅ SendFile Decrypt

✅ SendText

SendText Convert from empty
  ✅ SendText Convert from empty
SendText Convert
  ✅ SendText Convert
SendText Decrypt
  ✅ SendText Decrypt

✅ sequentialize decorator

sequentialize decorator should call the function once
  ✅ sequentialize decorator should call the function once
sequentialize decorator should call the function once for each instance of the object
  ✅ sequentialize decorator should call the function once for each instance of the object
sequentialize decorator should call the function once with key function
  ✅ sequentialize decorator should call the function once with key function
sequentialize decorator should call the function again when already resolved
  ✅ sequentialize decorator should call the function again when already resolved
sequentialize decorator should call the function again when already resolved with a key function
  ✅ sequentialize decorator should call the function again when already resolved with a key function
sequentialize decorator should call the function for each argument
  ✅ sequentialize decorator should call the function for each argument
sequentialize decorator should call the function for each argument with key function
  ✅ sequentialize decorator should call the function for each argument with key function
sequentialize decorator should return correct result for each call
  ✅ sequentialize decorator should return correct result for each call
sequentialize decorator should return correct result for each call with key function
  ✅ sequentialize decorator should return correct result for each call with key function

✅ SymmetricCryptoKey

SymmetricCryptoKey errors if no key
  ✅ SymmetricCryptoKey errors if no key
SymmetricCryptoKey guesses encKey from key length AesCbc256_B64
  ✅ SymmetricCryptoKey guesses encKey from key length AesCbc256_B64
SymmetricCryptoKey guesses encKey from key length AesCbc128_HmacSha256_B64
  ✅ SymmetricCryptoKey guesses encKey from key length AesCbc128_HmacSha256_B64
SymmetricCryptoKey guesses encKey from key length AesCbc256_HmacSha256_B64
  ✅ SymmetricCryptoKey guesses encKey from key length AesCbc256_HmacSha256_B64
SymmetricCryptoKey guesses encKey from key length unknown length
  ✅ SymmetricCryptoKey guesses encKey from key length unknown length

✅ throttle decorator

throttle decorator should call the function once at a time
  ✅ throttle decorator should call the function once at a time
throttle decorator should call the function once at a time for each object
  ✅ throttle decorator should call the function once at a time for each object
throttle decorator should call the function limit at a time
  ✅ throttle decorator should call the function limit at a time
throttle decorator should call the function limit at a time for each object
  ✅ throttle decorator should call the function limit at a time for each object
throttle decorator should work together with sequentialize
  ✅ throttle decorator should work together with sequentialize