Documentation
¶
Overview ¶
Package shared contains common shared information, and utilities.
Index ¶
- Constants
- Variables
- func CreateHTTPTestServer(statusCode int, headers map[string]string, queryParams map[string]string, ...) *httptest.Server
- func Decode(r io.Reader, v any) error
- func Encode(w io.Writer, v any) error
- func ErrorContains(err error, text ...string) bool
- func GenerateID(ct string) string
- func GenerateUUID() string
- func IsEnvironment(environments ...string) bool
- func Marshal(v any) ([]byte, error)
- func PrintErrorMessages(errors ...error) string
- func ReadAll(r io.Reader) ([]byte, error)
- func SliceContains(source []string, text string) bool
- func TargetName(name, alternative string) (string, error)
- func Unmarshal(data []byte, v any) error
- type HTTPMethod
- type ResponseTestDataWithIDS
- type TestDataS
- type TestDataWithIDS
Constants ¶
const ( // Development is the development environment. Development = "development" // Integration is the integration environment. Integration = "integration" // Production is the production environment. Production = "production" // Staging is the staging environment. Staging = "staging" // Testing is the testing environment. Testing = "testing" )
const ( StatusPending = 0 StatusActive = 1 StatusDeleted = 99 )
General Status Codes
const ( // DatabaseName is the database name. DatabaseName = Test // TableName is the table/collection/index/etc name. TableName = Test // DefaultTimeout is the default timeout. DefaultTimeout = 30 * time.Second // DocumentID is the document ID. DocumentID = "VFzrpYMBXu5BQSZxo0qX" // DocumentIDInvalid is an invalid document ID. DocumentIDInvalid = "VFzrpYMBXu5BQSZxo0qY" // DocumentName is the document name. DocumentName = Test // DocumentNameUpdated is the updated document name. DocumentNameUpdated = "Test2" // DocumentVersion is the document version. DocumentVersion = "1.0.0" RoleName = "test" // Test name. Test = "test" )
const Timeout = 30 * time.Second
Timeout is the default timeout.
Variables ¶
var ( // TestData is the test data. TestData = &TestDataS{ Name: DocumentName, Version: DocumentVersion, } // TestDataWithID is the test data. TestDataWithID = &TestDataWithIDS{ ID: DocumentID, Name: DocumentName, Version: DocumentVersion, } // UpdatedTestData is the updated test data. UpdatedTestData = &TestDataS{ Name: DocumentNameUpdated, Version: DocumentVersion, } // UpdatedTestDataID is the updated test data with ID. UpdatedTestDataID = &TestDataWithIDS{ ID: DocumentID, Name: DocumentNameUpdated, Version: DocumentVersion, } )
var TimeoutPing = 10 * time.Second
TimeoutPing is the timeout for ping.
Functions ¶
func CreateHTTPTestServer ¶
func CreateHTTPTestServer( statusCode int, headers map[string]string, queryParams map[string]string, body string, ) *httptest.Server
CreateHTTPTestServer creates a mocked HTTP server. Don't forget to defer close it!
SEE: Test for usage.
func ErrorContains ¶
ErrorContains checks if an error contains a string.
func GenerateID ¶
GenerateID generates MD5 hash (content-based) based on content. Good to be used to avoid duplicated messages.
func GenerateUUID ¶
func GenerateUUID() string
GenerateUUID generates a RFC4122 UUID and DCE 1.1: Authentication and Security Services.
func IsEnvironment ¶
IsEnvironment determines if the current environment is one of the provided.
func PrintErrorMessages ¶
PrintErrorMessages prints the concatenated error messages.
func SliceContains ¶
SliceContains returns true if the slice contains the string.
NOTE: It's case insensitive.
NOTE: @andres moved to here.
func TargetName ¶
TargetName returns the provided target name, or the configured one. A target, depending on the storage, is a collection, a table, a bucket, etc. For ElasticSearch - as it doesn't have a concept of a database - the target is the index.
Types ¶
type HTTPMethod ¶
type HTTPMethod string
HTTPMethod is the HTTP method.
const ( // MethodGet is the HTTP GET method. MethodGet HTTPMethod = http.MethodGet // MethodPost is the HTTP POST method. MethodPost HTTPMethod = http.MethodPost // MethodPut is the HTTP PUT method. MethodPut HTTPMethod = http.MethodPut // MethodPatch is the HTTP PATCH method. MethodPatch HTTPMethod = http.MethodPatch // MethodDelete is the HTTP DELETE method. MethodDelete HTTPMethod = http.MethodDelete )
func (HTTPMethod) String ¶
func (m HTTPMethod) String() string
type ResponseTestDataWithIDS ¶ added in v0.0.20
type ResponseTestDataWithIDS struct {
Items []TestDataWithIDS `json:"items"`
}
ResponseTestDataWithIDS is the response from the Redis list SCAN command.
type TestDataS ¶
type TestDataS struct { Name string `json:"name,omitempty" query:"name" db:"name" dbType:"varchar(255)"` Version string `json:"version,omitempty" query:"version" db:"version" dbType:"varchar(255)"` }
TestDataS is the test data definition.
type TestDataWithIDS ¶
type TestDataWithIDS struct { ID string `json:"id,omitempty" query:"id" db:"id" dbType:"varchar(255)" bson:"_id"` Name string `json:"name,omitempty" query:"name" db:"name" dbType:"varchar(255)"` Version string `json:"version,omitempty" query:"version" db:"version" dbType:"varchar(255)"` }
TestDataWithIDS is the test data definition.