shared

package
v1.0.26 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 13, 2023 License: MIT Imports: 14 Imported by: 0

Documentation

Overview

Package shared contains common shared information, and utilities.

Index

Constants

View Source
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"
)
View Source
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"
)

Variables

View Source
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,
	}
)

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 Decode

func Decode(r io.Reader, v any) error

Decode process stream `r` into `v` and returns an error if any.

func Encode added in v1.0.13

func Encode(w io.Writer, v any) error

Encode process `v` into stream `w` and returns an error if any.

func ErrorContains

func ErrorContains(err error, text ...string) bool

ErrorContains checks if an error contains a string.

func GenerateID

func GenerateID(ct string) string

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

func IsEnvironment(environments ...string) bool

IsEnvironment determines if the current environment is one of the provided.

func Marshal

func Marshal(v any) ([]byte, error)

Marshal with custom error.

func MarshalIndent

func MarshalIndent(v any, prefix, indent string) ([]byte, error)

MarshalIndent will marshal `v` with `prefix` and `indent` and returns an error if any.

func PrintErrorMessages

func PrintErrorMessages(errors ...error) string

PrintErrorMessages prints the concatenated error messages.

func Process added in v1.0.24

func Process(v any) error

Process will process `v` with the following steps: 1. Set default values. 2. Set environment variables. 3. Set ID.

func ReadAll

func ReadAll(r io.Reader) ([]byte, error)

ReadAll reads all the data from `r` and returns an error if any.

func SliceContains

func SliceContains(source []string, text string) bool

SliceContains returns true if the slice contains the string.

NOTE: It's case insensitive.

NOTE: @andres moved to here.

func Unmarshal

func Unmarshal(data []byte, v any) error

Unmarshal with custom error.

Types

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL