Documentation
¶
Overview ¶
Package models provides data models for the keploy.
Index ¶
- Constants
- Variables
- func SetMode(m Mode) error
- func SetTestMode()
- func SetVersion(V1 string)
- type AbsResult
- type AccessTokenResponse
- type AppError
- type AppErrorType
- type AuthReq
- type AuthResp
- type Backend
- type BodyResult
- type BodyType
- type Class
- type Cobertura
- type CoverageResult
- type DepMetaResult
- type DepResult
- type DeviceCodeResponse
- type FailedUT
- type FormData
- type Frame
- type Frontend
- type GenericSchema
- type GlobalNoise
- type GrpcHeaders
- type GrpcLengthPrefixedMessage
- type GrpcReq
- type GrpcResp
- type GrpcSpec
- type GrpcStream
- type HTTPReq
- type HTTPResp
- type HTTPSchema
- type Header
- type HeaderResult
- type HookOptions
- type IncomingOptions
- type IntResult
- type KctxType
- type Kind
- type Line
- type Method
- type Mock
- type MockRegistry
- type MockSpec
- type Mode
- type ModeKey
- type MongoHeader
- type MongoOpMessage
- type MongoOpQuery
- type MongoOpReply
- type MongoRequest
- type MongoResponse
- type MongoSpec
- type Noise
- type NoiseParams
- type OriginType
- type OutgoingOptions
- type OutputBinary
- type Package
- type Params
- type Payload
- type PostgresSpec
- type RedisSchema
- type RegularPacket
- type ReqCompare
- type RequestYaml
- type RespCompare
- type ResponseYaml
- type Result
- type RunOptions
- type SetupOptions
- type Spec
- type StartupPacket
- type StringResult
- type TeleEvent
- type TestCase
- type TestCoverage
- type TestModeInfo
- type TestReport
- type TestResult
- type TestSet
- type TestSetStatus
- type TestStatus
- type TestingOptions
- type TestsetNoise
- type URLParamsResult
- type UT
- type UTDetails
- type UTIndentationInfo
- type UTInsertionInfo
- type UTResult
- type Version
Constants ¶
const ( NoSQLDB string = "NO_SQL_DB" SQLDB string = "SQL_DB" GRPC string = "GRPC" HTTPClient string = "HTTP_CLIENT" TestSetPattern string = "test-set-" String string = "string" TestRunTemplateName string = "test-run-" )
Patterns for different usecases in keploy
const ( Unknown config.Language = "Unknown" // Unknown language Go config.Language = "go" // Go language Java config.Language = "java" // Java language Python config.Language = "python" // Python language Javascript config.Language = "javascript" // Javascript language )
const ( DeviceCodeURL = "https://github.com/login/device/code" TokenURL = "https://github.com/login/oauth/access_token" )
GitHub URLs
const ( MODE_RECORD Mode = "record" MODE_TEST Mode = "test" MODE_OFF Mode = "off" KCTX KctxType = "KeployContext" KTime KctxType = "KeployTime" )
constants for keploy mode
const ( HTTP Kind = "Http" GENERIC Kind = "Generic" REDIS Kind = "Redis" MySQL Kind = "MySQL" Postgres Kind = "Postgres" GRPC_EXPORT Kind = "gRPC" Mongo Kind = "Mongo" BodyTypeUtf8 BodyType = "utf-8" BodyTypeBinary BodyType = "binary" BodyTypePlain BodyType = "PLAIN" BodyTypeJSON BodyType = "JSON" BodyTypeError BodyType = "ERROR" )
mocks types
const ( OpsAdd = "ADD" OpsRemove = "REMOVE" )
enum for ops
const ClientConnectionIDKey contextKey = "clientConnectionId"
const DestConnectionIDKey contextKey = "destConnectionId"
const ErrGroupKey contextKey = "errGroup"
const ProtocolVersionNumber uint32 = 196608
ProtocolVersionNumber should be replaced with actual version number if different
const V1Beta1 = Version("api.keploy.io/v1beta1")
Variables ¶
var BaseTime = time.Date(2000, 1, 1, 0, 0, 0, 0, time.UTC)
var GetFailingColorScheme = func() pp.ColorScheme { if IsAnsiDisabled { return defaultColorScheme } return pp.ColorScheme{ Bool: pp.Cyan | pp.Bold, Integer: pp.Blue | pp.Bold, Float: pp.Magenta | pp.Bold, String: pp.Red, StringQuotation: pp.Red | pp.Bold, EscapedChar: pp.Magenta | pp.Bold, FieldName: pp.Yellow, PointerAdress: pp.Blue | pp.Bold, Nil: pp.Cyan | pp.Bold, Time: pp.Blue | pp.Bold, StructName: pp.White, ObjectLength: pp.Blue, } }
var GetPassingColorScheme = func() pp.ColorScheme { if IsAnsiDisabled { return defaultColorScheme } return pp.ColorScheme{ String: pp.Green, StringQuotation: pp.Green | pp.Bold, FieldName: pp.White, Integer: pp.Blue | pp.Bold, StructName: pp.NoColor, Bool: pp.Cyan | pp.Bold, Float: pp.Magenta | pp.Bold, EscapedChar: pp.Magenta | pp.Bold, PointerAdress: pp.Blue | pp.Bold, Nil: pp.Cyan | pp.Bold, Time: pp.Blue | pp.Bold, ObjectLength: pp.Blue, } }
var HighlightFailingString = func(a ...interface{}) string { if IsAnsiDisabled { return fmt.Sprint(a) } return color.New(color.FgRed).SprintFunc()(a) }
var HighlightGrayString = func(a ...interface{}) string { if IsAnsiDisabled { return fmt.Sprint(a) } return color.New(color.FgHiBlack).SprintFunc()(a) }
var HighlightPassingString = func(a ...interface{}) string { if IsAnsiDisabled { return fmt.Sprint(a) } return color.New(color.FgGreen).SprintFunc()(a) }
var HighlightString = func(a ...interface{}) string { if IsAnsiDisabled { return fmt.Sprint(a) } return color.New(orangeColorSGR...).SprintFunc()(a) }
var IsAnsiDisabled = false
var (
PassThroughHosts = []string{"^dc\\.services\\.visualstudio\\.com$"}
)
Functions ¶
func SetVersion ¶
func SetVersion(V1 string)
Types ¶
type AbsResult ¶
type AbsResult struct {
Kind StringResult `json:"kind" bson:"kind" yaml:"kind"`
Name StringResult `json:"name" bson:"name" yaml:"name"`
Req ReqCompare `json:"req" bson:"req" yaml:"req"`
Resp RespCompare `json:"resp" bson:"resp" yaml:"resp"`
}
type AccessTokenResponse ¶
type AppError ¶
type AppError struct {
AppErrorType AppErrorType
Err error
}
type AppErrorType ¶
type AppErrorType string
const ( ErrCommandError AppErrorType = "exited due to command error" ErrUnExpected AppErrorType = "an unexpected error occurred" ErrInternal AppErrorType = "an internal error occurred" ErrAppStopped AppErrorType = "app stopped" ErrCtxCanceled AppErrorType = "context canceled" ErrTestBinStopped AppErrorType = "test binary stopped" )
AppErrorType is a type of error that can be returned by the application
type Backend ¶
type Backend struct {
PacketTypes []string `json:"header,omitempty" yaml:"header,omitempty,flow"`
Identfier string `json:"identifier,omitempty" yaml:"identifier,omitempty"`
Length uint32 `json:"length,omitempty" yaml:"length,omitempty"`
Payload string `json:"payload,omitempty" yaml:"payload,omitempty"`
Bind pgproto3.Bind `yaml:"-"`
Binds []pgproto3.Bind `json:"bind,omitempty" yaml:"bind,omitempty"`
CancelRequest pgproto3.CancelRequest `json:"cancel_request,omitempty" yaml:"cancel_request,omitempty"`
Close pgproto3.Close `json:"close,omitempty" yaml:"close,omitempty"`
CopyFail pgproto3.CopyFail `json:"copy_fail,omitempty" yaml:"copy_fail,omitempty"`
CopyData pgproto3.CopyData `json:"copy_data,omitempty" yaml:"copy_data,omitempty"`
CopyDone pgproto3.CopyDone `json:"copy_done,omitempty" yaml:"copy_done,omitempty"`
Describe pgproto3.Describe `json:"describe,omitempty" yaml:"describe,omitempty"`
Execute pgproto3.Execute `yaml:"-"`
Executes []pgproto3.Execute `json:"execute,omitempty" yaml:"execute,omitempty"`
Flush pgproto3.Flush `json:"flush,omitempty" yaml:"flush,omitempty"`
FunctionCall pgproto3.FunctionCall `json:"function_call,omitempty" yaml:"function_call,omitempty"`
GssEncRequest pgproto3.GSSEncRequest `json:"gss_enc_request,omitempty" yaml:"gss_enc_request,omitempty"`
Parse pgproto3.Parse `yaml:"-"`
Parses []pgproto3.Parse `json:"parse,omitempty" yaml:"parse,omitempty"`
Query pgproto3.Query `json:"query,omitempty" yaml:"query,omitempty"`
SSlRequest pgproto3.SSLRequest `json:"ssl_request,omitempty" yaml:"ssl_request,omitempty"`
StartupMessage pgproto3.StartupMessage `json:"startup_message,omitempty" yaml:"startup_message,omitempty"`
Sync pgproto3.Sync `json:"sync,omitempty" yaml:"sync,omitempty"`
Terminate pgproto3.Terminate `json:"terminate,omitempty" yaml:"terminate,omitempty"`
SASLInitialResponse pgproto3.SASLInitialResponse `json:"sasl_initial_response,omitempty" yaml:"sasl_initial_response,omitempty"`
SASLResponse pgproto3.SASLResponse `json:"sasl_response,omitempty" yaml:"sasl_response,omitempty"`
PasswordMessage pgproto3.PasswordMessage `json:"password_message,omitempty" yaml:"password_message,omitempty"`
MsgType byte `json:"msg_type,omitempty" yaml:"msg_type,omitempty"`
PartialMsg bool `json:"partial_msg,omitempty" yaml:"partial_msg,omitempty"`
AuthType int32 `json:"auth_type" yaml:"auth_type"`
BodyLen int `json:"body_len,omitempty" yaml:"body_len,omitempty"`
}
Backend is PG Request Packet Transcoder
type BodyResult ¶
type CoverageResult ¶
type DepMetaResult ¶
type DepResult ¶
type DepResult struct {
Name string `json:"name" bson:"name" yaml:"name"`
Type string `json:"type" bson:"type" yaml:"type"`
Meta []DepMetaResult `json:"meta" bson:"meta" yaml:"meta"`
}
type DeviceCodeResponse ¶
type Frontend ¶
type Frontend struct {
PacketTypes []string `json:"header,omitempty" yaml:"header,omitempty,flow"`
Identfier string `json:"identifier,omitempty" yaml:"identifier,omitempty"`
Length uint32 `json:"length,omitempty" yaml:"length,omitempty"`
Payload string `json:"payload,omitempty" yaml:"payload,omitempty"`
AuthenticationOk pgproto3.AuthenticationOk `json:"authentication_ok,omitempty" yaml:"authentication_ok,omitempty"`
AuthenticationCleartextPassword pgproto3.AuthenticationCleartextPassword `json:"authentication_cleartext_password,omitempty" yaml:"authentication_cleartext_password,omitempty"`
AuthenticationMD5Password pgproto3.AuthenticationMD5Password `json:"authentication_md5_password,omitempty" yaml:"authentication_md5_password,omitempty"`
AuthenticationGSS pgproto3.AuthenticationGSS `json:"authentication_gss,omitempty" yaml:"authentication_gss,omitempty"`
AuthenticationGSSContinue pgproto3.AuthenticationGSSContinue `json:"authentication_gss_continue,omitempty" yaml:"authentication_gss_continue,omitempty"`
AuthenticationSASL pgproto3.AuthenticationSASL `json:"authentication_sasl,omitempty" yaml:"authentication_sasl,omitempty"`
AuthenticationSASLContinue pgproto3.AuthenticationSASLContinue `json:"authentication_sasl_continue,omitempty" yaml:"authentication_sasl_continue,omitempty,flow"`
AuthenticationSASLFinal pgproto3.AuthenticationSASLFinal `json:"authentication_sasl_final,omitempty" yaml:"authentication_sasl_final,omitempty,flow"`
BackendKeyData pgproto3.BackendKeyData `json:"backend_key_data,omitempty" yaml:"backend_key_data,omitempty"`
BindComplete pgproto3.BindComplete `yaml:"-"`
BindCompletes []pgproto3.BindComplete `json:"bind_complete,omitempty" yaml:"bind_complete,omitempty"`
CloseComplete pgproto3.CloseComplete `json:"close_complete,omitempty" yaml:"close_complete,omitempty"`
CommandComplete pgproto3.CommandComplete `yaml:"-"`
CommandCompletes []pgproto3.CommandComplete `json:"command_complete,omitempty" yaml:"command_complete,omitempty"`
CopyBothResponse pgproto3.CopyBothResponse `json:"copy_both_response,omitempty" yaml:"copy_both_response,omitempty"`
CopyData pgproto3.CopyData `json:"copy_data,omitempty" yaml:"copy_data,omitempty"`
CopyInResponse pgproto3.CopyInResponse `json:"copy_in_response,omitempty" yaml:"copy_in_response,omitempty"`
CopyOutResponse pgproto3.CopyOutResponse `json:"copy_out_response,omitempty" yaml:"copy_out_response,omitempty"`
CopyDone pgproto3.CopyDone `json:"copy_done,omitempty" yaml:"copy_done,omitempty"`
DataRow pgproto3.DataRow `yaml:"-"`
DataRows []pgproto3.DataRow `json:"data_row,omitempty" yaml:"data_row,omitempty,flow"`
EmptyQueryResponse pgproto3.EmptyQueryResponse `json:"empty_query_response,omitempty" yaml:"empty_query_response,omitempty"`
ErrorResponse pgproto3.ErrorResponse `json:"error_response,omitempty" yaml:"error_response,omitempty"`
FunctionCallResponse pgproto3.FunctionCallResponse `json:"function_call_response,omitempty" yaml:"function_call_response,omitempty"`
NoData pgproto3.NoData `json:"no_data,omitempty" yaml:"no_data,omitempty"`
NoticeResponse pgproto3.NoticeResponse `json:"notice_response,omitempty" yaml:"notice_response,omitempty"`
NotificationResponse pgproto3.NotificationResponse `json:"notification_response,omitempty" yaml:"notification_response,omitempty"`
ParameterDescription pgproto3.ParameterDescription `json:"parameter_description,omitempty" yaml:"parameter_description,omitempty"`
ParameterStatus pgproto3.ParameterStatus `yaml:"-"`
ParameterStatusCombined []pgproto3.ParameterStatus `json:"parameter_status,omitempty" yaml:"parameter_status,omitempty"`
ParseComplete pgproto3.ParseComplete `yaml:"-"`
ParseCompletes []pgproto3.ParseComplete `json:"parse_complete,omitempty" yaml:"parse_complete,omitempty"`
ReadyForQuery pgproto3.ReadyForQuery `json:"ready_for_query,omitempty" yaml:"ready_for_query,omitempty"`
RowDescription pgproto3.RowDescription `json:"row_description,omitempty" yaml:"row_description,omitempty,flow"`
PortalSuspended pgproto3.PortalSuspended `json:"portal_suspended,omitempty" yaml:"portal_suspended,omitempty"`
MsgType byte `json:"msg_type,omitempty" yaml:"msg_type,omitempty"`
AuthType int32 `json:"auth_type" yaml:"auth_type"`
// AuthMechanism string `json:"auth_mechanism,omitempty" yaml:"auth_mechanism,omitempty"`
BodyLen int `json:"body_len,omitempty" yaml:"body_len,omitempty"`
}
type GenericSchema ¶
type GenericSchema struct {
Metadata map[string]string `json:"metadata" yaml:"metadata"`
GenericRequests []Payload `json:"RequestBin,omitempty"`
GenericResponses []Payload `json:"ResponseBin,omitempty"`
ReqTimestampMock time.Time `json:"reqTimestampMock,omitempty"`
ResTimestampMock time.Time `json:"resTimestampMock,omitempty"`
}
type GlobalNoise ¶
type GrpcHeaders ¶
type GrpcReq ¶
type GrpcReq struct {
Headers GrpcHeaders `json:"headers" yaml:"headers"`
Body GrpcLengthPrefixedMessage `json:"body" yaml:"body"`
}
type GrpcResp ¶
type GrpcResp struct {
Headers GrpcHeaders `json:"headers" yaml:"headers"`
Body GrpcLengthPrefixedMessage `json:"body" yaml:"body"`
Trailers GrpcHeaders `json:"trailers" yaml:"trailers"`
}
type GrpcStream ¶
GrpcStream is a helper function to combine the request-response model in a single struct.
func NewGrpcStream ¶
func NewGrpcStream(streamID uint32) GrpcStream
NewGrpcStream returns a GrpcStream with all the nested maps initialised.
type HTTPReq ¶
type HTTPReq struct {
Method Method `json:"method" yaml:"method"`
ProtoMajor int `json:"proto_major" yaml:"proto_major"` // e.g. 1
ProtoMinor int `json:"proto_minor" yaml:"proto_minor"` // e.g. 0
URL string `json:"url" yaml:"url"`
URLParams map[string]string `json:"url_params" yaml:"url_params,omitempty"`
Header map[string]string `json:"header" yaml:"header"`
Body string `json:"body" yaml:"body"`
Binary string `json:"binary" yaml:"binary,omitempty"`
Form []FormData `json:"form" yaml:"form,omitempty"`
Timestamp time.Time `json:"timestamp" yaml:"timestamp"`
}
type HTTPResp ¶
type HTTPResp struct {
StatusCode int `json:"status_code" yaml:"status_code"` // e.g. 200
Header map[string]string `json:"header" yaml:"header"`
Body string `json:"body" yaml:"body"`
StatusMessage string `json:"status_message" yaml:"status_message"`
ProtoMajor int `json:"proto_major" yaml:"proto_major"`
ProtoMinor int `json:"proto_minor" yaml:"proto_minor"`
Binary string `json:"binary" yaml:"binary,omitempty"`
Timestamp time.Time `json:"timestamp" yaml:"timestamp"`
}
type HTTPSchema ¶
type HTTPSchema struct {
Metadata map[string]string `json:"metadata" yaml:"metadata"`
Request HTTPReq `json:"req" yaml:"req"`
Response HTTPResp `json:"resp" yaml:"resp"`
Objects []*OutputBinary `json:"objects" yaml:"objects"`
Assertions map[string]interface{} `json:"assertions" yaml:"assertions,omitempty"`
Created int64 `json:"created" yaml:"created,omitempty"`
ReqTimestampMock time.Time `json:"reqTimestampMock" yaml:"reqTimestampMock,omitempty"`
ResTimestampMock time.Time `json:"resTimestampMock" yaml:"resTimestampMock,omitempty"`
}
type HeaderResult ¶
type HookOptions ¶
type IncomingOptions ¶
type Mock ¶
type Mock struct {
Version Version `json:"Version,omitempty" bson:"Version,omitempty"`
Name string `json:"Name,omitempty" bson:"Name,omitempty"`
Kind Kind `json:"Kind,omitempty" bson:"Kind,omitempty"`
Spec MockSpec `json:"Spec,omitempty" bson:"Spec,omitempty"`
TestModeInfo TestModeInfo `json:"TestModeInfo,omitempty" bson:"TestModeInfo,omitempty"` // Map for additional test mode information
ConnectionID string `json:"ConnectionId,omitempty" bson:"ConnectionId,omitempty"`
}
type MockRegistry ¶
type MockSpec ¶
type MockSpec struct {
Metadata map[string]string `` /* 139-byte string literal not displayed */
GenericRequests []Payload `json:"RequestBin,omitempty" bson:"generic_requests,omitempty"`
GenericResponses []Payload `json:"ResponseBin,omitempty" bson:"generic_responses,omitempty"`
RedisRequests []Payload `json:"redisRequests,omitempty" bson:"redis_requests,omitempty"`
RedisResponses []Payload `json:"redisResponses,omitempty" bson:"redis_responses,omitempty"`
HTTPReq *HTTPReq `json:"Req,omitempty" bson:"http_req,omitempty"`
HTTPResp *HTTPResp `json:"Res,omitempty" bson:"http_resp,omitempty"`
Created int64 `json:"Created,omitempty" bson:"created,omitempty"`
MongoRequests []MongoRequest `json:"MongoRequests,omitempty" bson:"mongo_requests,omitempty"`
MongoResponses []MongoResponse `json:"MongoResponses,omitempty" bson:"mongo_responses,omitempty"`
PostgresRequests []Backend `json:"postgresRequests,omitempty" bson:"postgres_requests,omitempty"`
PostgresResponses []Frontend `json:"postgresResponses,omitempty" bson:"postgres_responses,omitempty"`
GRPCReq *GrpcReq `json:"gRPCRequest,omitempty" bson:"grpc_req,omitempty"`
GRPCResp *GrpcResp `json:"grpcResponse,omitempty" bson:"grpc_resp,omitempty"`
MySQLRequests []mysql.Request `json:"MySqlRequests,omitempty" bson:"my_sql_requests,omitempty"`
MySQLResponses []mysql.Response `json:"MySqlResponses,omitempty" bson:"my_sql_responses,omitempty"`
ReqTimestampMock time.Time `json:"ReqTimestampMock,omitempty" bson:"req_timestamp_mock,omitempty"`
ResTimestampMock time.Time `json:"ResTimestampMock,omitempty" bson:"res_timestamp_mock,omitempty"`
}
type Mode ¶
type Mode string
Mode represents the mode at which the SDK is operating MODE_RECORD is for recording API calls to generate testcases MODE_TEST is for testing the application on previous recorded testcases MODE_OFF disables keploy SDK automatically from the application
type MongoHeader ¶
type MongoHeader struct {
Length int32 `json:"length" yaml:"length" bson:"length"`
RequestID int32 `json:"requestId" yaml:"requestId" bson:"request_id"`
ResponseTo int32 `json:"responseTo" yaml:"responseTo" bson:"response_to"`
Opcode wiremessage.OpCode `json:"Opcode" yaml:"Opcode" bson:"opcode"`
}
type MongoOpMessage ¶
type MongoOpQuery ¶
type MongoOpQuery struct {
Flags int32 `json:"flags" yaml:"flags" bson:"flags"`
FullCollectionName string `json:"collection_name" yaml:"collection_name" bson:"collection_name"`
NumberToSkip int32 `json:"number_to_skip" yaml:"number_to_skip" bson:"number_to_skip"`
NumberToReturn int32 `json:"number_to_return" yaml:"number_to_return" bson:"number_to_return"`
Query string `json:"query" yaml:"query" bson:"query"`
ReturnFieldsSelector string `json:"return_fields_selector" yaml:"return_fields_selector" bson:"return_fields_selector"`
}
type MongoOpReply ¶
type MongoOpReply struct {
ResponseFlags int32 `json:"response_flags" yaml:"response_flags" bson:"response_flags"`
CursorID int64 `json:"cursor_id" yaml:"cursor_id" bson:"cursor_id"`
StartingFrom int32 `json:"starting_from" yaml:"starting_from" bson:"starting_from"`
NumberReturned int32 `json:"number_returned" yaml:"number_returned" bson:"number_returned"`
Documents []string `json:"documents" yaml:"documents" bson:"documents"`
}
type MongoRequest ¶
type MongoRequest struct {
Header *MongoHeader `json:"header,omitempty" yaml:"header,omitempty" bson:"header,omitempty"`
Message interface{} `json:"message,omitempty" yaml:"message,omitempty" bson:"message,omitempty"`
ReadDelay int64 `json:"read_delay,omitempty" yaml:"read_delay,omitempty" bson:"read_delay,omitempty"`
}
func (*MongoRequest) MarshalJSON ¶
func (mr *MongoRequest) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler for mongoRequests because of interface typeof field
func (*MongoRequest) UnmarshalBSON ¶
func (mr *MongoRequest) UnmarshalBSON(data []byte) error
UnmarshalBSON implements bson.Unmarshaler for mongoRequests because of interface typeof field
func (*MongoRequest) UnmarshalJSON ¶
func (mr *MongoRequest) UnmarshalJSON(data []byte) error
UnmarshalJSON implements json.Unmarshaler for mongoRequests because of interface typeof field
type MongoResponse ¶
type MongoResponse struct {
Header *MongoHeader `json:"header,omitempty" yaml:"header,omitempty" bson:"header,omitempty"`
Message interface{} `json:"message,omitempty" yaml:"message,omitempty" bson:"message,omitempty"`
ReadDelay int64 `json:"read_delay,omitempty" yaml:"read_delay,omitempty" bson:"read_delay,omitempty"`
}
func (*MongoResponse) MarshalJSON ¶
func (mr *MongoResponse) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler for mongoResponses because of interface typeof field
func (*MongoResponse) UnmarshalBSON ¶
func (mr *MongoResponse) UnmarshalBSON(data []byte) error
UnmarshalBSON implements bson.Unmarshaler for mongoResponses because of interface typeof field
func (*MongoResponse) UnmarshalJSON ¶
func (mr *MongoResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON implements json.Unmarshaler for mongoResponses because of interface typeof field
type MongoSpec ¶
type MongoSpec struct {
Metadata map[string]string `json:"metadata" yaml:"metadata"`
Requests []RequestYaml `json:"requests" yaml:"requests"`
Response []ResponseYaml `json:"responses" yaml:"responses"`
CreatedAt int64 `json:"created" yaml:"created,omitempty"`
ReqTimestampMock time.Time `json:"reqTimestampMock" yaml:"reqTimestampMock,omitempty"`
ResTimestampMock time.Time `json:"resTimestampMock" yaml:"resTimestampMock,omitempty"`
}
type NoiseParams ¶
type OriginType ¶
type OriginType string
const ( FromServer OriginType = "server" FromClient OriginType = "client" )
constant for mock origin
type OutgoingOptions ¶
type OutgoingOptions struct {
Rules []config.BypassRule
MongoPassword string
// TODO: role of SQLDelay should be mentioned in the comments.
SQLDelay time.Duration // This is the same as Application delay.
FallBackOnMiss bool // this enables to pass the request to the actual server if no mock is found during test mode.
Mocking bool // used to enable/disable mocking
}
type OutputBinary ¶
type OutputBinary struct {
Type string `json:"type" bson:"type" yaml:"type"`
Data string `json:"data" bson:"data" yaml:"data"`
}
OutputBinary store the encoded binary output of the egress calls as base64-encoded strings
type Payload ¶
type Payload struct {
Origin OriginType `json:"Origin,omitempty" yaml:"origin" bson:"origin,omitempty"`
Message []OutputBinary `json:"Message,omitempty" yaml:"message" bson:"message,omitempty"`
}
type PostgresSpec ¶
type PostgresSpec struct {
Metadata map[string]string `json:"metadata" yaml:"metadata"`
// Objects []*models.OutputBinary `json:"objects" yaml:"objects"`
PostgresRequests []Backend `json:"RequestBin,omitempty"`
PostgresResponses []Frontend `json:"ResponseBin,omitempty"`
ReqTimestampMock time.Time `json:"ReqTimestampMock,omitempty"`
ResTimestampMock time.Time `json:"ResTimestampMock,omitempty"`
}
type RedisSchema ¶
type RedisSchema struct {
Metadata map[string]string `json:"metadata" yaml:"metadata"`
RedisRequests []Payload `json:"RequestBin,omitempty"`
RedisResponses []Payload `json:"ResponseBin,omitempty"`
ReqTimestampMock time.Time `json:"reqTimestampMock,omitempty"`
ResTimestampMock time.Time `json:"resTimestampMock,omitempty"`
}
type RegularPacket ¶
type ReqCompare ¶
type ReqCompare struct {
MethodResult StringResult `json:"method_result" bson:"method_result" yaml:"method_result"`
URLResult StringResult `json:"url_result" bson:"url_result" yaml:"url_result"`
URLParamsResult []URLParamsResult `json:"url_params_result" bson:"url_params_result" yaml:"url_params_result"`
ProtoMajor IntResult `json:"proto_major" bson:"proto_major" yaml:"proto_major"`
ProtoMinor IntResult `json:"proto_minor" bson:"proto_minor" yaml:"proto_minor"`
HeaderResult []HeaderResult `json:"headers_result" bson:"headers_result" yaml:"headers_result"`
BodyResult BodyResult `json:"body_result" bson:"body_result" yaml:"body_result"`
}
type RequestYaml ¶
type RequestYaml struct {
Header *MongoHeader `json:"header,omitempty" yaml:"header"`
Message yaml.Node `json:"message,omitempty" yaml:"message"`
ReadDelay int64 `json:"read_delay,omitempty" yaml:"read_delay,omitempty"`
}
type RespCompare ¶
type RespCompare struct {
StatusCode IntResult `json:"status_code" bson:"status_code" yaml:"status_code"`
HeadersResult []HeaderResult `json:"headers_result" bson:"headers_result" yaml:"headers_result"`
BodyResult BodyResult `json:"body_result" bson:"body_result" yaml:"body_result"`
}
type ResponseYaml ¶
type ResponseYaml struct {
Header *MongoHeader `json:"header,omitempty" yaml:"header"`
Message yaml.Node `json:"message,omitempty" yaml:"message"`
ReadDelay int64 `json:"read_delay,omitempty" yaml:"read_delay,omitempty"`
}
type Result ¶
type Result struct {
StatusCode IntResult `json:"status_code" bson:"status_code" yaml:"status_code"`
HeadersResult []HeaderResult `json:"headers_result" bson:"headers_result" yaml:"headers_result"`
BodyResult []BodyResult `json:"body_result" bson:"body_result" yaml:"body_result"`
DepResult []DepResult `json:"dep_result" bson:"dep_result" yaml:"dep_result"`
}
type RunOptions ¶
type RunOptions struct {
}
type SetupOptions ¶
type StartupPacket ¶
type StringResult ¶
type TeleEvent ¶
type TeleEvent struct {
InstallationID string `json:"installationId"`
EventType string `json:"eventType"`
Meta map[string]interface{} `json:"meta"`
CreatedAt int64 `json:"createdAt"`
TeleCheck bool `json:"tele_check"`
OS string `json:"os"`
KeployVersion string `json:"keploy_version"`
Arch string `json:"arch"`
}
type TestCase ¶
type TestCase struct {
Version Version `json:"version" bson:"version"`
Kind Kind `json:"kind" bson:"kind"`
Name string `json:"name" bson:"name"`
Created int64 `json:"created" bson:"created"`
Updated int64 `json:"updated" bson:"updated"`
Captured int64 `json:"captured" bson:"captured"`
HTTPReq HTTPReq `json:"http_req" bson:"http_req"`
HTTPResp HTTPResp `json:"http_resp" bson:"http_resp"`
AllKeys map[string][]string `json:"all_keys" bson:"all_keys"`
GrpcResp GrpcResp `json:"grpcResp" bson:"grpcResp"`
GrpcReq GrpcReq `json:"grpcReq" bson:"grpcReq"`
Anchors map[string][]string `json:"anchors" bson:"anchors"`
Noise map[string][]string `json:"noise" bson:"noise"`
Mocks []*Mock `json:"mocks" bson:"mocks"`
Type string `json:"type" bson:"type"`
Curl string `json:"curl" bson:"curl"`
}
type TestCoverage ¶
type TestModeInfo ¶
type TestReport ¶
type TestReport struct {
Version Version `json:"version" yaml:"version"`
Name string `json:"name" yaml:"name"`
Status string `json:"status" yaml:"status"`
Success int `json:"success" yaml:"success"`
Failure int `json:"failure" yaml:"failure"`
Ignored int `json:"ignored" yaml:"ignored"`
Total int `json:"total" yaml:"total"`
Tests []TestResult `json:"tests" yaml:"tests,omitempty"`
TestSet string `json:"testSet" yaml:"test_set"`
}
func (*TestReport) GetKind ¶
func (tr *TestReport) GetKind() string
type TestResult ¶
type TestResult struct {
Kind Kind `json:"kind" yaml:"kind"`
Name string `json:"name" yaml:"name"`
Status TestStatus `json:"status" yaml:"status"`
Started int64 `json:"started" yaml:"started"`
Completed int64 `json:"completed" yaml:"completed"`
TestCasePath string `json:"testCasePath" yaml:"test_case_path"`
MockPath string `json:"mockPath" yaml:"mock_path"`
TestCaseID string `json:"testCaseID" yaml:"test_case_id"`
Req HTTPReq `json:"req" yaml:"req,omitempty"`
Res HTTPResp `json:"resp" yaml:"resp,omitempty"`
Noise Noise `json:"noise" yaml:"noise,omitempty"`
Result Result `json:"result" yaml:"result"`
}
func (*TestResult) GetKind ¶
func (tr *TestResult) GetKind() string
type TestSet ¶
type TestSet struct {
PreScript string `json:"pre_script" bson:"pre_script" yaml:"preScript"`
PostScript string `json:"post_script" bson:"post_script" yaml:"postScript"`
Template map[string]interface{} `json:"template" bson:"template" yaml:"template"`
MockRegistry *MockRegistry `yaml:"mockRegistry" bson:"mock_registry" json:"mockRegistry,omitempty"`
}
type TestSetStatus ¶
type TestSetStatus string
const ( TestSetStatusRunning TestSetStatus = "RUNNING" TestSetStatusFailed TestSetStatus = "FAILED" TestSetStatusPassed TestSetStatus = "PASSED" TestSetStatusAppHalted TestSetStatus = "APP_HALTED" TestSetStatusUserAbort TestSetStatus = "USER_ABORT" TestSetStatusFaultUserApp TestSetStatus = "APP_FAULT" TestSetStatusInternalErr TestSetStatus = "INTERNAL_ERR" TestSetStatusFaultScript TestSetStatus = "SCRIPT_FAULT" TestSetStatusIgnored TestSetStatus = "IGNORED" )
constants for testSet status
func StringToTestSetStatus ¶
func StringToTestSetStatus(s string) (TestSetStatus, error)
type TestStatus ¶
type TestStatus string
const ( TestStatusPending TestStatus = "PENDING" TestStatusRunning TestStatus = "RUNNING" TestStatusFailed TestStatus = "FAILED" TestStatusPassed TestStatus = "PASSED" TestStatusIgnored TestStatus = "IGNORED" )
constants for test status
type TestingOptions ¶
type TestingOptions struct {
Mode Mode
}