gotestguide

package module
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Aug 8, 2025 License: MIT Imports: 14 Imported by: 0

README

go-test-guide

A library / CLI to interact with Test.Guide.

CLI

This project also provides a compiled CLI binary (based on the Go Module) that allows to directly interact with Test.Guide.

Usage
go-test-guide [global options] [command [command options]]
Server and Authentication

To define the base url of the server and the token, you can either pass --base-url and --token to the requests or set the environment variables TEST_GUIDE_BASE_URL and TEST_GUIDE_TOKEN.

Commands
  • report-management (rm): Manage reports
    • upload-report: Upload a new report
    • delete-report: Delete the report with the given report ID
    • add-artifact: Add a new artifact
Examples

Upload a report:

go-test-guide rm upload-report --project 111 --converter JUnitMatlab --report test-report.xml --token "<token>" --base-url "https://test-guide.mydomain.com"

Go Module

This repository provides a Go module that can be used in your Go applications to interact with Test.Guide.

Installation
go get github.com/roemer/go-test-guide
Modules
  • Artifacts
    • CreateDepository
    • GetDepositories
    • GetDepository
    • DeleteDepository
    • UploadArtifact
    • GetArtifact
    • GetStorages
    • GetStorage
    • CreateStorage
    • DeleteStorage
    • ActivateStorage
    • DeactivateStorage
  • Platform
    • GetProject
  • ReportManagement
    • GetConverters
    • UploadReport
    • UploadReportTyped
    • DeleteReport
    • GetTestCaseExecutions
    • GetTestCaseExecution
    • GetUploadStatus
    • GetDeleteStatus
    • GetHistory
    • AddArtifact
    • GetFilters
    • GetFilter
    • GetTestCaseExecutionsByFilter
    • GetTestCaseExecutionsByProjectFilter
  • UserManagement
    • Whoami
    • GetUsers
    • GetRoles
Usage

Create a client:

client, err := gotestguide.NewClient("server-url", "token")
if err != nil {
    log.Fatalf("Failed to create client: %v", err)
}

Get a project:

project, _, err := client.Platform.GetProject(projectId)
if err != nil {
    return err
}

Uploading a typed report and waiting for the upload to finish:

newReport := &gotestguide.UploadReport{
    Name:      "My Test Report",
    Timestamp: time.Now().UnixMilli(),
    TestCases: []gotestguide.IAbstractUploadTestCase{
        &gotestguide.UploadTestCaseFolder{
            Name: "Subfolder A",
            TestCases: []gotestguide.IAbstractUploadTestCase{
                &gotestguide.UploadTestCase{
                    Name:        "Test Case 1",
                    Timestamp:   time.Now().UnixMilli(),
                    Description: "This is a test case",
                    Verdict:     gotestguide.VERDICT_PASSED,
                },
            },
        },
    },
}
uploadTask, _, err := client.ReportManagement.UploadReportTyped(projectId, newReport)
if err != nil {
    return err
}
for {
    time.Sleep(1 * time.Second)
    status, _, _ := client.ReportManagement.GetUploadStatus(uploadTask.TaskID)
    fmt.Println(status)
    if status.Status == "finished" {
        break
    }
}

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNotFound = errors.New("404 Not Found")

Error for 404 not found responses.

View Source
var FalsePtr = Ptr(false)
View Source
var TruePtr = Ptr(true)

Functions

func Ptr

func Ptr[T any](v T) *T

Ptr is a helper that returns a pointer to v.

Types

type Argument

type Argument struct {
	Name      string    `json:"name"`
	Value     string    `json:"value"`
	Direction Direction `json:"direction"`
}

func (*Argument) String

func (a *Argument) String() string

type Artifact

type Artifact struct {
	ID             string                 `json:"id"`
	FileName       string                 `json:"fileName"`
	Extension      string                 `json:"extension"`
	FileSize       int64                  `json:"fileSize"`
	Hash           string                 `json:"hash"`
	UploadDate     time.Time              `json:"uploadDate"`
	LastAccessDate time.Time              `json:"lastAccessDate"`
	Uploader       string                 `json:"uploader"`
	AttributeList  []*ArtifactAttribute   `json:"attributeList"`
	Shares         []*ArtifactShare       `json:"shares"`
	LockedBy       []*LockedArtifactGroup `json:"lockedBy"`
}

func (*Artifact) String

func (a *Artifact) String() string

type ArtifactAttribute

type ArtifactAttribute struct {
	Key    string   `json:"key"`
	Values []string `json:"values"`
}

func (*ArtifactAttribute) String

func (a *ArtifactAttribute) String() string

type ArtifactCreatedResponse

type ArtifactCreatedResponse struct {
	ID string `json:"artifactId"`
}

func (*ArtifactCreatedResponse) String

func (a *ArtifactCreatedResponse) String() string

type ArtifactRef added in v0.2.0

type ArtifactRef struct {
	Ref      string `json:"ref,omitempty"`
	Md5      string `json:"md5,omitempty"`
	FileSize int64  `json:"fileSize,omitempty"`
}

func (*ArtifactRef) String added in v0.2.0

func (a *ArtifactRef) String() string

type ArtifactShare

type ArtifactShare struct {
	ID          string    `json:"id"`
	Link        string    `json:"link"`
	Description string    `json:"description"`
	Creator     string    `json:"creator"`
	CreateDate  time.Time `json:"createDate"`
}

func (*ArtifactShare) String

func (a *ArtifactShare) String() string

type ArtifactsService

type ArtifactsService struct {
	// contains filtered or unexported fields
}

func (*ArtifactsService) ActivateStorage

func (s *ArtifactsService) ActivateStorage(depositoryId string, storageNumber int) (*http.Response, error)

func (*ArtifactsService) CreateDepository

func (s *ArtifactsService) CreateDepository(projectId int, depositoryId string, depositoryName string) (*DepositoryIdResponse, *http.Response, error)

func (*ArtifactsService) CreateStorage

func (s *ArtifactsService) CreateStorage(depositoryId string, storage IStorage) (*StorageNumberResponse, *http.Response, error)

func (*ArtifactsService) DeactivateStorage

func (s *ArtifactsService) DeactivateStorage(depositoryId string) (*http.Response, error)

func (*ArtifactsService) DeleteDepository

func (s *ArtifactsService) DeleteDepository(depositoryId string) (*http.Response, error)

func (*ArtifactsService) DeleteStorage

func (s *ArtifactsService) DeleteStorage(depositoryId string, storageNumber int, removeAllFilesFromStorage *bool) (*TaskRef, *http.Response, error)

func (*ArtifactsService) GetArtifact

func (s *ArtifactsService) GetArtifact(artifactId string) (*Artifact, *http.Response, error)

func (*ArtifactsService) GetDepositories

func (s *ArtifactsService) GetDepositories(projectId int) ([]*Depository, *http.Response, error)

func (*ArtifactsService) GetDepository

func (s *ArtifactsService) GetDepository(depositoryId string) (*Depository, *http.Response, error)

func (*ArtifactsService) GetStorage

func (s *ArtifactsService) GetStorage(depositoryId string, storageNumber int) (IStorage, *http.Response, error)

func (*ArtifactsService) GetStorages

func (s *ArtifactsService) GetStorages(depositoryId string) ([]IStorage, *http.Response, error)

func (*ArtifactsService) UploadArtifact

func (s *ArtifactsService) UploadArtifact(depositoryId string, artifactPath string, attributes ...*Attribute) (*ArtifactCreatedResponse, *http.Response, error)

type ArtifactsServiceInterface

type ArtifactsServiceInterface interface {
	// Create a depository.
	CreateDepository(projectId int, depositoryId string, depositoryName string) (*DepositoryIdResponse, *http.Response, error)
	// Retrieve all depositories.
	GetDepositories(projectId int) ([]*Depository, *http.Response, error)
	// Get all information of a depository.
	GetDepository(depositoryId string) (*Depository, *http.Response, error)
	// Delete a depository.
	DeleteDepository(depositoryId string) (*http.Response, error)
	// Upload an artifact.
	UploadArtifact(depositoryId string, artifactPath string, attributes ...*Attribute) (*ArtifactCreatedResponse, *http.Response, error)
	// Get all information of an artifact.
	GetArtifact(artifactId string) (*Artifact, *http.Response, error)
	// Get all storages of a given depository.
	GetStorages(depositoryId string) ([]IStorage, *http.Response, error)
	// Get all information of a storage.
	GetStorage(depositoryId string, storageNumber int) (IStorage, *http.Response, error)
	// Create Storage.
	CreateStorage(depositoryId string, storage IStorage) (*StorageNumberResponse, *http.Response, error)
	// Delete the given storage. Files in the storage are not automatically removed.
	DeleteStorage(depositoryId string, storageNumber int, removeAllFilesFromStorage *bool) (*TaskRef, *http.Response, error)
	// Activate this storage.
	ActivateStorage(depositoryId string, storageNumber int) (*http.Response, error)
	// Deactivate the currently active storage in this depository.
	DeactivateStorage(depositoryId string) (*http.Response, error)
}

type Attribute

type Attribute struct {
	Key    string   `json:"key"`
	Value  string   `json:"value,omitempty"`
	Values []string `json:"values,omitempty"`
}

func (*Attribute) String

func (a *Attribute) String() string

type AwsS3StorageClass

type AwsS3StorageClass string
const (
	AWS_S3_STORAGE_CLASS_STANDARD                   AwsS3StorageClass = "STANDARD"
	AWS_S3_STORAGE_CLASS_REDUCED_REDUNDANCY         AwsS3StorageClass = "REDUCED_REDUNDANCY"
	AWS_S3_STORAGE_CLASS_GLACIER                    AwsS3StorageClass = "GLACIER"
	AWS_S3_STORAGE_CLASS_STANDARD_INFREQUENT_ACCESS AwsS3StorageClass = "STANDARD_IA"
	AWS_S3_STORAGE_CLASS_ONE_ZONE_INFREQUENT_ACCESS AwsS3StorageClass = "ONEZONE_IA"
	AWS_S3_STORAGE_CLASS_INTELLIGENT_TIERING        AwsS3StorageClass = "INTELLIGENT_TIERING"
	AWS_S3_STORAGE_CLASS_DEEP_ARCHIVE               AwsS3StorageClass = "DEEP_ARCHIVE"
)

type AzureAuthenticationInfo

type AzureAuthenticationInfo struct {
	Type AzureAuthenticationType `json:"type"`
}

func (*AzureAuthenticationInfo) AsBasic

func (*AzureAuthenticationInfo) AsSas

func (*AzureAuthenticationInfo) AsSharedKey

func (*AzureAuthenticationInfo) GetType

type AzureAuthenticationType

type AzureAuthenticationType string
const (
	AZURE_AUTHENTICATION_TYPE_BASIC      AzureAuthenticationType = "BASIC"
	AZURE_AUTHENTICATION_TYPE_SAS        AzureAuthenticationType = "SAS"
	AZURE_AUTHENTICATION_TYPE_SHARED_KEY AzureAuthenticationType = "SHARED_KEY"
)

type AzureBasicAuthenticationInfo

type AzureBasicAuthenticationInfo struct {
	*AzureAuthenticationInfo
	UserName string `json:"userName"`
	Password string `json:"password"`
}

func NewAzureBasicAuthenticationInfo

func NewAzureBasicAuthenticationInfo(userName string, password string) *AzureBasicAuthenticationInfo

func (*AzureBasicAuthenticationInfo) AsBasic

type AzureSasAuthenticationInfo

type AzureSasAuthenticationInfo struct {
	*AzureAuthenticationInfo
	Token string `json:"token"`
}

func NewAzureSasAuthenticationInfo

func NewAzureSasAuthenticationInfo(token string) *AzureSasAuthenticationInfo

func (*AzureSasAuthenticationInfo) AsSas

type AzureSharedKeyAuthenticationInfo

type AzureSharedKeyAuthenticationInfo struct {
	*AzureAuthenticationInfo
	AccountName string `json:"accountName"`
	AccountKey  string `json:"accountKey"`
}

func NewAzureSharedKeyAuthenticationInfo

func NewAzureSharedKeyAuthenticationInfo(accountName string, accountKey string) *AzureSharedKeyAuthenticationInfo

func (*AzureSharedKeyAuthenticationInfo) AsSharedKey

type Client

type Client struct {

	// API for up- and download of artifacts to/from test.guide.
	Artifacts ArtifactsServiceInterface
	// API for handling project and system settings in test.guide.
	Platform PlatformServiceInterface
	// API for handling test reports (test case executions) in test.guide.
	ReportManagement ReportManagementServiceInterface
	// API for accessing user management functionality of test.guide.
	UserManagement UserManagementServiceInterface
	// contains filtered or unexported fields
}

A client to interact with the test.guide API.

func NewClient

func NewClient(baseUrl, authKey string) (*Client, error)

Create a new client for the test.guide API.

func (*Client) Do

func (c *Client) Do(req *http.Request, v any) (*http.Response, error)

Execute an HTTP request and decode the response into the provided variable.

func (*Client) NewRequest

func (c *Client) NewRequest(method, path string, body io.Reader) (*http.Request, error)

Create a new HTTP request with authentication.

func (*Client) SetDebug

func (c *Client) SetDebug(debug bool)

Enable debugging (printing) of all received values.

type Constant

type Constant struct {
	Key    string   `json:"key"`
	Value  string   `json:"value,omitempty"`
	Values []string `json:"values,omitempty"`
}

func (*Constant) String

func (c *Constant) String() string

type Converter

type Converter struct {
	ID      string `json:"id"`
	Version string `json:"version"`
}

func (*Converter) String

func (c *Converter) String() string

type CreateStorageOption

type CreateStorageOption func(*StorageBase)

func WithKeepFileInStorageWhenDeletingArtifact

func WithKeepFileInStorageWhenDeletingArtifact(keepFileInStorageWhenDeletingArtifact bool) CreateStorageOption

func WithStorageConnectionCheck

func WithStorageConnectionCheck(cronExpression string, timeZone string, notifyProjectManagersOnFailure *bool) CreateStorageOption

func WithStorageQuota

func WithStorageQuota(limitInGiB int, rejectUpload *bool, notifyDepositoryManagerThresholdInPercent int, notifyDepositoryUsersThresholdInPercent int) CreateStorageOption

type DeleteStatus

type DeleteStatus struct {
	Status          string `json:"status"`
	DetailedMessage string `json:"detailedMessage"`
}

func (*DeleteStatus) String

func (d *DeleteStatus) String() string

type Depository

type Depository struct {
	ID            string `json:"id"`
	ProjectId     int    `json:"projectId"`
	ActiveStorage int    `json:"activeStorage"`
	Name          string `json:"name"`
}

func (*Depository) String

func (d *Depository) String() string

type DepositoryIdResponse

type DepositoryIdResponse struct {
	ID string `json:"id"`
}

func (*DepositoryIdResponse) String

func (d *DepositoryIdResponse) String() string

type Direction

type Direction string
const (
	DIRECTION_IN    Direction = "IN"
	DIRECTION_OUT   Direction = "OUT"
	DIRECTION_INOUT Direction = "INOUT"
)

type FileReference

type FileReference struct {
	ID          int64     `json:"id"`
	Filename    string    `json:"filename"`
	RelPath     string    `json:"relPath"`
	UploadDate  time.Time `json:"uploadDate"`
	DownloadURL string    `json:"downloadUrl"`
	FileSize    int64     `json:"fileSize"`
	FileHash    string    `json:"fileHash"`
	FilePath    string    `json:"filePath"`
}

func (*FileReference) String

func (f *FileReference) String() string

type Filter added in v0.3.0

type Filter struct {
	FilterId    int64             `json:"filterId"`
	Name        string            `json:"name"`
	Category    string            `json:"category,omitempty"`
	Description string            `json:"description,omitempty"`
	Parameters  *FilterParameters `json:"parameters,omitempty"`
}

func (*Filter) String added in v0.3.0

func (f *Filter) String() string

type FilterInformation added in v0.3.0

type FilterInformation struct {
	FilterId    int64  `json:"filterId"`
	Name        string `json:"name"`
	Category    string `json:"category,omitempty"`
	Description string `json:"description,omitempty"`
}

func (*FilterInformation) String added in v0.3.0

func (f *FilterInformation) String() string

type FilterParameters added in v0.3.0

type FilterParameters struct {
	TestCaseTagSetID       *int64              `json:"testCaseTagSetId,omitempty"`
	TestSuiteName          []string            `json:"testSuiteName,omitempty"`
	TestCaseName           []string            `json:"testCaseName,omitempty"`
	ParameterSetName       []string            `json:"parameterSetName,omitempty"`
	TestEnvironments       []string            `json:"testEnvironments,omitempty"`
	Attributes             []*KeyValuesFilter  `json:"attributes,omitempty"`
	Constants              []*KeyValuesFilter  `json:"constants,omitempty"`
	ExecutionTimeMin       *int                `json:"executionTimeMin,omitempty"`
	ExecutionTimeMax       *int                `json:"executionTimeMax,omitempty"`
	PlannedTestCaseFolder  []string            `json:"plannedTestCaseFolder,omitempty"`
	DateFrom               *time.Time          `json:"dateFrom,omitempty"`
	DateTo                 *time.Time          `json:"dateTo,omitempty"`
	ArchiveFiles           []string            `json:"archiveFiles,omitempty"`
	TestArgumentExpr       string              `json:"testArgumentExpr,omitempty"`
	TestArgumentDirections []Direction         `json:"testArgumentDirections,omitempty"`
	AtxIds                 []int64             `json:"atxIds,omitempty"`
	Verdicts               []Verdict           `json:"verdicts,omitempty"`
	ReviewExists           string              `json:"reviewExists,omitempty"`
	IncludeObsoleteReviews *bool               `json:"includeObsoleteReviews,omitempty"`
	ReviewAuthor           string              `json:"reviewAuthor,omitempty"`
	ReviewComment          string              `json:"reviewComment,omitempty"`
	ReviewSummary          string              `json:"reviewSummary,omitempty"`
	ReviewVerdicts         []ReviewVerdict     `json:"reviewVerdicts,omitempty"`
	InvalidRuns            *ValidityConstraint `json:"invalidRuns,omitempty"`
	ReviewDefectClass      string              `json:"reviewDefectClass,omitempty"`
	ReviewDefectPriority   string              `json:"reviewDefectPriority,omitempty"`
	ReviewTags             []string            `json:"reviewTags,omitempty"`
	ReviewCustomEvaluation string              `json:"reviewCustomEvaluation"`
	ReviewTickets          []string            `json:"reviewTickets"`
}

type IAbstractTestStep

type IAbstractTestStep interface {
	GetType() TestStepType
	AsTestStep() *TestStep
	AsTestStepFolder() *TestStepFolder
}

type IAbstractUploadTestCase added in v0.2.0

type IAbstractUploadTestCase interface {
	GetType() TestCaseType
	AsTestCase() *UploadTestCase
	AsTestCaseFolder() *UploadTestCaseFolder
}

type IAzureAuthenticationInfo

type IAzureAuthenticationInfo interface {
	GetType() AzureAuthenticationType
	AsBasic() *AzureBasicAuthenticationInfo
	AsSas() *AzureSasAuthenticationInfo
	AsSharedKey() *AzureSharedKeyAuthenticationInfo
}

type ISftpAuthenticationInfo

type ISftpAuthenticationInfo interface {
	GetType() SftpAuthenticationType
	AsBasic() *SftpAuthenticationInfoBasic
	AsSshKey() *SftpAuthenticationInfoSshKey
}

type IStorage

type IStorage interface {
	GetType() StorageType
	AsFileStorage() *StorageFile
	AsSmbStorage() *StorageSmb
	AsArtifactoryStorage() *StorageArtifactory
	AsAwsS3Storage() *StorageAwsS3
	AsSftpStorage() *StorageSftp
	AsAzureBlobStorage() *StorageAzureBlob
}

func NewStorageArtifactory

func NewStorageArtifactory(name string, url string, repoKey string, userName string, apiKey string, connectionTimeout *int, socketTimeout *int, options ...CreateStorageOption) IStorage

func NewStorageAwsS3

func NewStorageAwsS3(name string, bucketName string, customEndpoint string, userName string, password string, objectKeyPrefix string, storageClass AwsS3StorageClass, awsRegion string, connectionTimeout *int, socketTimeout *int, options ...CreateStorageOption) IStorage

func NewStorageAzureBlob

func NewStorageAzureBlob(name string, storageAccount string, containerName string, blobNamePrefix string, authInfo IAzureAuthenticationInfo, options ...CreateStorageOption) IStorage

func NewStorageFile

func NewStorageFile(name string, folder string, options ...CreateStorageOption) IStorage

func NewStorageSftp

func NewStorageSftp(name string, host string, port *int, folderPath string, authInfo ISftpAuthenticationInfo, options ...CreateStorageOption) IStorage

func NewStorageSmb

func NewStorageSmb(name string, userName string, password string, domain string, host string, port *int, share string, folderPath string, dfsEnabled *bool, dialect SmbDialect, transportEncryptionEnabled *bool, options ...CreateStorageOption) IStorage

type KeyValuesFilter added in v0.3.0

type KeyValuesFilter struct {
	Key     string   `json:"key"`
	Values  []string `json:"values"`
	Negated *bool    `json:"negated,omitempty"`
}

func (*KeyValuesFilter) String added in v0.3.0

func (k *KeyValuesFilter) String() string

type LockedArtifactGroup

type LockedArtifactGroup struct {
	Name string `json:"name"`
}

func (*LockedArtifactGroup) String

func (l *LockedArtifactGroup) String() string

type PlatformService

type PlatformService struct {
	// contains filtered or unexported fields
}

func (*PlatformService) GetProject

func (s *PlatformService) GetProject(projectId int) (*Project, *http.Response, error)

type PlatformServiceInterface

type PlatformServiceInterface interface {
	// Retrieve project data.
	GetProject(projectId int) (*Project, *http.Response, error)
}

type Project

type Project struct {
	ID          int                 `json:"projectId"`
	Name        string              `json:"projectName"`
	Description string              `json:"projectDescription"`
	IsActive    bool                `json:"isActive"`
	Deleted     ProjectDeletedState `json:"deleted"`
}

func (*Project) String

func (p *Project) String() string

type ProjectDeletedState

type ProjectDeletedState string
const (
	PROJECT_DELETED_STATE_ACTIVE      ProjectDeletedState = ""
	PROJECT_DELETED_STATE_IN_PROGRESS ProjectDeletedState = "IN_PROGRESS"
	PROJECT_DELETED_STATE_FINISHED    ProjectDeletedState = "FINISHED"
)

func (ProjectDeletedState) String

func (s ProjectDeletedState) String() string

type ProjectRole

type ProjectRole struct {
	ID   int64  `json:"id"`
	Name string `json:"name"`
}

func (*ProjectRole) String

func (o *ProjectRole) String() string

type Recording

type Recording struct {
	Name      string    `json:"name"`
	Direction Direction `json:"direction"`
	FileHash  string    `json:"fileHash"`
}

func (*Recording) String

func (r *Recording) String() string

type ReportHistoryItem

type ReportHistoryItem struct {
	ReportID      int64        `json:"reportId"`
	TestPlanName  string       `json:"testPlanName"`
	Status        ReportStatus `json:"status"`
	UploadDate    time.Time    `json:"uploadDate"`
	ExecutionDate time.Time    `json:"executionDate"`
	FileSize      int64        `json:"fileSize"`
}

func (*ReportHistoryItem) String

func (r *ReportHistoryItem) String() string

type ReportManagementService

type ReportManagementService struct {
	// contains filtered or unexported fields
}

func (*ReportManagementService) AddArtifact

func (s *ReportManagementService) AddArtifact(tceId int64, filePath string, comment string, category string) (*http.Response, error)

func (*ReportManagementService) DeleteReport

func (s *ReportManagementService) DeleteReport(reportId int64) (*TaskRef, *http.Response, error)

func (*ReportManagementService) GetConverters

func (s *ReportManagementService) GetConverters() ([]*Converter, *http.Response, error)

func (*ReportManagementService) GetDeleteStatus

func (s *ReportManagementService) GetDeleteStatus(taskId string) (*DeleteStatus, *http.Response, error)

func (*ReportManagementService) GetFilter added in v0.3.0

func (s *ReportManagementService) GetFilter(filterId int64) (*Filter, *http.Response, error)

func (*ReportManagementService) GetFilters added in v0.3.0

func (s *ReportManagementService) GetFilters(projectId int, offset *int, limit *int) ([]*FilterInformation, *http.Response, error)

func (*ReportManagementService) GetHistory

func (s *ReportManagementService) GetHistory(projectId int, startDate time.Time, endDate time.Time, offset int, limit int) ([]*ReportHistoryItem, *http.Response, error)

func (*ReportManagementService) GetTestCaseExecution

func (s *ReportManagementService) GetTestCaseExecution(tceId int64) (*TestCaseExecution, *http.Response, error)

func (*ReportManagementService) GetTestCaseExecutions

func (s *ReportManagementService) GetTestCaseExecutions(reportId int64) ([]*TestCaseExecutionLink, *http.Response, error)

func (*ReportManagementService) GetTestCaseExecutionsByFilter added in v0.3.0

func (s *ReportManagementService) GetTestCaseExecutionsByFilter(projectId int, offset *int, limit *int, filter *FilterParameters) ([]*TestCaseExecution, *http.Response, error)

func (*ReportManagementService) GetTestCaseExecutionsByProjectFilter added in v0.3.0

func (s *ReportManagementService) GetTestCaseExecutionsByProjectFilter(filterId int64, offset *int, limit *int) ([]*TestCaseExecution, *http.Response, error)

func (*ReportManagementService) GetUploadStatus

func (s *ReportManagementService) GetUploadStatus(taskId string) (*UploadStatus, *http.Response, error)

func (*ReportManagementService) UploadReport

func (s *ReportManagementService) UploadReport(projectId int, converterId string, reportPath string) (*TaskRef, *http.Response, error)

func (*ReportManagementService) UploadReportTyped added in v0.2.0

func (s *ReportManagementService) UploadReportTyped(projectId int, report *UploadReport) (*TaskRef, *http.Response, error)

type ReportManagementServiceInterface

type ReportManagementServiceInterface interface {
	// Retrieve information about all available X2ATX converters.
	GetConverters() ([]*Converter, *http.Response, error)
	// Upload a new report.
	UploadReport(projectId int, converterId string, reportPath string) (*TaskRef, *http.Response, error)
	// Uploads a new report from the given objects.
	UploadReportTyped(projectId int, report *UploadReport) (*TaskRef, *http.Response, error)
	// Delete the report with the given report ID (ATX ID).
	DeleteReport(reportId int64) (*TaskRef, *http.Response, error)
	// Retrieve all test case executions for the supplied report ID (ATX ID).
	GetTestCaseExecutions(reportId int64) ([]*TestCaseExecutionLink, *http.Response, error)
	// Retrieve details about a specific test case execution.
	GetTestCaseExecution(tceId int64) (*TestCaseExecution, *http.Response, error)
	// Retrieve current state of report upload.
	GetUploadStatus(taskId string) (*UploadStatus, *http.Response, error)
	// Retrieve delete task status.
	GetDeleteStatus(taskId string) (*DeleteStatus, *http.Response, error)
	// Provides metadata for uploaded reports.
	GetHistory(projectId int, startDate time.Time, endTime time.Time, offset int, limit int) ([]*ReportHistoryItem, *http.Response, error)
	// Adds an artifact to an existing test case execution.
	AddArtifact(tceId int64, filePath string, comment string, category string) (*http.Response, error)
	// Retrieve project filters.
	GetFilters(projectId int, offset *int, limit *int) ([]*FilterInformation, *http.Response, error)
	// Retrieve a specific project filter including its parameters.
	GetFilter(filterId int64) (*Filter, *http.Response, error)
	// Get test case executions matching the filter parameters.
	GetTestCaseExecutionsByFilter(projectId int, offset *int, limit *int, filter *FilterParameters) ([]*TestCaseExecution, *http.Response, error)
	// Get test case executions of the specified project filter.
	GetTestCaseExecutionsByProjectFilter(filterId int64, offset *int, limit *int) ([]*TestCaseExecution, *http.Response, error)
}

type ReportStatus

type ReportStatus string
const (
	REPORT_STATUS_PENDING             ReportStatus = "PENDING"
	REPORT_STATUS_COMPLETE            ReportStatus = "COMPLETE"
	REPORT_STATUS_COMPLETE_WITH_ERROR ReportStatus = "COMPLETE_WITH_ERROR"
)

type Review

type Review struct {
	ID               int64            `json:"id"`
	ProjectID        int              `json:"projectId"`
	Attachments      []*FileReference `json:"attachments"`
	Summary          string           `json:"summary,omitempty"`
	Comment          string           `json:"comment"`
	Verdict          Verdict          `json:"verdict,omitempty"`
	CustomEvaluation string           `json:"customEvaluation,omitempty"`
	Reviewer         string           `json:"reviewer"`
	ReviewDate       time.Time        `json:"reviewDate"`
	Contacts         []string         `json:"contacts,omitempty"`
	Tickets          []string         `json:"tickets,omitempty"`
	Tags             []string         `json:"tags,omitempty"`
	DefectClass      string           `json:"defectClass,omitempty"`
	DefectPriority   string           `json:"defectPriority,omitempty"`
	InvalidRun       bool             `json:"invalidRun,omitempty"`
}

func (*Review) String

func (r *Review) String() string

type ReviewVerdict added in v0.3.0

type ReviewVerdict string
const (
	REVIEW_VERDICT_NONE         ReviewVerdict = "NONE"
	REVIEW_VERDICT_PASSED       ReviewVerdict = "PASSED"
	REVIEW_VERDICT_INCONCLUSIVE ReviewVerdict = "INCONCLUSIVE"
	REVIEW_VERDICT_FAILED       ReviewVerdict = "FAILED"
	REVIEW_VERDICT_ERROR        ReviewVerdict = "ERROR"
	REVIEW_VERDICT_NO_VERDICT   ReviewVerdict = "NO_VERDICT"
)

type SftpAuthenticationInfo

type SftpAuthenticationInfo struct {
	Type     SftpAuthenticationType `json:"type"`
	UserName string                 `json:"userName"`
}

func (*SftpAuthenticationInfo) AsBasic

func (*SftpAuthenticationInfo) AsSshKey

func (*SftpAuthenticationInfo) GetType

type SftpAuthenticationInfoBasic

type SftpAuthenticationInfoBasic struct {
	*SftpAuthenticationInfo
	Password string `json:"password"`
}

func NewSftpAuthenticationInfoBasic

func NewSftpAuthenticationInfoBasic(userName string, password string) *SftpAuthenticationInfoBasic

func (*SftpAuthenticationInfoBasic) AsBasic

type SftpAuthenticationInfoSshKey

type SftpAuthenticationInfoSshKey struct {
	*SftpAuthenticationInfo
	PrivateKey string `json:"privateKey"`
}

func NewSftpAuthenticationInfoSshKey

func NewSftpAuthenticationInfoSshKey(userName string, privateKey string) *SftpAuthenticationInfoSshKey

func (*SftpAuthenticationInfoSshKey) AsSshKey

type SftpAuthenticationType

type SftpAuthenticationType string
const (
	SFTP_AUTHENTICATION_TYPE_BASIC   SftpAuthenticationType = "BASIC"
	SFTP_AUTHENTICATION_TYPE_SSH_KEY SftpAuthenticationType = "SSH_KEY"
)

type SmbDialect

type SmbDialect string
const (
	SMB_DIALECT_2_0_2 SmbDialect = "SMB_2_0_2"
	SMB_DIALECT_2_1   SmbDialect = "SMB_2_1"
	SMB_DIALECT_2XX   SmbDialect = "SMB_2XX"
	SMB_DIALECT_3_0   SmbDialect = "SMB_3_0"
	SMB_DIALECT_3_0_2 SmbDialect = "SMB_3_0_2"
	SMB_DIALECT_3_1_1 SmbDialect = "SMB_3_1_1"
)

type StorageArtifactory

type StorageArtifactory struct {
	*StorageBase
	URL               string `json:"url"`
	RepoKey           string `json:"repoKey"`
	UserName          string `json:"userName"`
	ApiKey            string `json:"apiKey"`
	ConnectionTimeout *int   `json:"connectionTimeout,omitempty"`
	SocketTimeout     *int   `json:"socketTimeout,omitempty"`
}

Depository backing storage on the basis of JFrog Artifactory.

func (*StorageArtifactory) AsArtifactoryStorage

func (s *StorageArtifactory) AsArtifactoryStorage() *StorageArtifactory

type StorageAwsS3

type StorageAwsS3 struct {
	*StorageBase
	BucketName        string            `json:"bucketName"`
	CustomEndpoint    string            `json:"customEndpoint"`
	UserName          string            `json:"userName"`
	Password          string            `json:"password"`
	ObjectKeyPrefix   string            `json:"objectKeyPrefix"`
	StorageClass      AwsS3StorageClass `json:"storageClass"`
	AwsRegion         string            `json:"awsRegion"`
	ConnectionTimeout *int              `json:"connectionTimeout,omitempty"`
	SocketTimeout     *int              `json:"socketTimeout,omitempty"`
}

Depository backing storage on the basis of AWS S3.

func (*StorageAwsS3) AsAwsS3Storage

func (s *StorageAwsS3) AsAwsS3Storage() *StorageAwsS3

type StorageAzureBlob

type StorageAzureBlob struct {
	*StorageBase
	StorageAccount     string                   `json:"storageAccount"`
	ContainerName      string                   `json:"containerName"`
	BlobNamePrefix     string                   `json:"blobNamePrefix"`
	AuthenticationInfo IAzureAuthenticationInfo `json:"authenticationInfo"`
}

Depository backing storage on the basis of Azure Blob Storage

func (*StorageAzureBlob) AsAzureBlobStorage

func (s *StorageAzureBlob) AsAzureBlobStorage() *StorageAzureBlob

func (*StorageAzureBlob) UnmarshalJSON

func (s *StorageAzureBlob) UnmarshalJSON(data []byte) error

type StorageBase

type StorageBase struct {
	StorageType                           StorageType                   `json:"storageType"`
	StorageNumber                         int                           `json:"storageNumber"`
	Name                                  string                        `json:"name"`
	KeepFileInStorageWhenDeletingArtifact bool                          `json:"keepFileInStorageWhenDeletingArtifact"`
	MigrationRole                         string                        `json:"migrationRole"`
	DeletionState                         string                        `json:"deletionState"`
	Quota                                 *StorageQuota                 `json:"quota"`
	ConnectionCheck                       *StorageConnectionCheckConfig `json:"connectionCheck"`
}

Base structure for all storage types.

func (*StorageBase) AsArtifactoryStorage

func (s *StorageBase) AsArtifactoryStorage() *StorageArtifactory

func (*StorageBase) AsAwsS3Storage

func (s *StorageBase) AsAwsS3Storage() *StorageAwsS3

func (*StorageBase) AsAzureBlobStorage

func (s *StorageBase) AsAzureBlobStorage() *StorageAzureBlob

func (*StorageBase) AsFileStorage

func (s *StorageBase) AsFileStorage() *StorageFile

func (*StorageBase) AsSftpStorage

func (s *StorageBase) AsSftpStorage() *StorageSftp

func (*StorageBase) AsSmbStorage

func (s *StorageBase) AsSmbStorage() *StorageSmb

func (*StorageBase) GetType

func (s *StorageBase) GetType() StorageType

type StorageConnectionCheckConfig

type StorageConnectionCheckConfig struct {
	CronExpression                 string `json:"cronExpression,omitempty"`
	TimeZone                       string `json:"timeZone,omitempty"`
	NotifyProjectManagersOnFailure *bool  `json:"notifyProjectManagersOnFailure,omitempty"`
}

type StorageFile

type StorageFile struct {
	*StorageBase
	// Path to local folder where the files should be stored.
	Folder string `json:"folder,omitempty"`
}

Depository backing storage in local files.

func (*StorageFile) AsFileStorage

func (s *StorageFile) AsFileStorage() *StorageFile

type StorageNumberResponse

type StorageNumberResponse struct {
	StorageNumber int `json:"storageNumber"`
}

func (*StorageNumberResponse) String

func (s *StorageNumberResponse) String() string

type StorageQuota

type StorageQuota struct {
	LimitInGiB                                int   `json:"limitInGiB"`
	RejectUpload                              *bool `json:"rejectUpload,omitempty"`
	NotifyDepositoryManagerThresholdInPercent int   `json:"notifyDepositoryManagerThresholdInPercent"`
	NotifyDepositoryUsersThresholdInPercent   int   `json:"notifyDepositoryUsersThresholdInPercent"`
}

type StorageSftp

type StorageSftp struct {
	*StorageBase
	Host               string                  `json:"host"`
	Port               *int                    `json:"port,omitempty"`
	AuthenticationInfo ISftpAuthenticationInfo `json:"authenticationInfo"`
	FolderPath         string                  `json:"folderPath"`
}

Depository backing storage on the basis of Secure File Transfer Protocol (SFTP).

func (*StorageSftp) AsSftpStorage

func (s *StorageSftp) AsSftpStorage() *StorageSftp

func (*StorageSftp) UnmarshalJSON

func (s *StorageSftp) UnmarshalJSON(data []byte) error

type StorageSmb

type StorageSmb struct {
	*StorageBase
	UserName                   string     `json:"userName"`
	Password                   string     `json:"password"`
	Domain                     string     `json:"domain,omitempty"`
	Host                       string     `json:"host"`
	Port                       *int       `json:"port,omitempty"`
	Share                      string     `json:"share,omitempty"`
	FolderPath                 string     `json:"folderPath"`
	DfsEnabled                 *bool      `json:"dfsEnabled,omitempty"`
	Dialect                    SmbDialect `json:"dialect"`
	TransportEncryptionEnabled *bool      `json:"transportEncryptionEnabled,omitempty"`
}

Depository backing storage on the basis of Server Message Block (SMB).

func (*StorageSmb) AsSmbStorage

func (s *StorageSmb) AsSmbStorage() *StorageSmb

type StorageType

type StorageType string
const (
	STORAGE_TYPE_FILE        StorageType = "fileStorage"
	STORAGE_TYPE_SMB         StorageType = "smbStorage"
	STORAGE_TYPE_ARTIFACTORY StorageType = "artifactoryStorage"
	STORAGE_TYPE_AWSS3       StorageType = "awsS3Storage"
	STORAGE_TYPE_SFTP        StorageType = "sftpStorage"
	STORAGE_TYPE_AZUREBLOB   StorageType = "azureBlobStorage"
)

type TaskRef

type TaskRef struct {
	TaskID string `json:"taskId"`
}

func (*TaskRef) String

func (t *TaskRef) String() string

type TestCaseExecution

type TestCaseExecution struct {
	ID                 int64              `json:"id"`
	ProjectID          int                `json:"projectId"`
	ReportID           int64              `json:"reportId"`
	TestSuiteName      string             `json:"testSuiteName"`
	TestCaseName       string             `json:"testCaseName"`
	ExecutionTimestamp time.Time          `json:"executionTimestamp"`
	Verdict            Verdict            `json:"verdict"`
	EffectiveVerdict   Verdict            `json:"effectiveVerdict"`
	TestEnvironments   []*TestEnvironment `json:"testEnvironments"`
	Attributes         []*Attribute       `json:"attributes"`
	Constants          []*Constant        `json:"constants"`
	Arguments          []*Argument        `json:"arguments"`
	Recordings         []*Recording       `json:"recordings"`
	ParameterSet       string             `json:"parameterSet"`
	TestSteps          *TestSteps         `json:"testSteps"`
	LastReview         *Review            `json:"lastReview"`
	Artifacts          []*FileReference   `json:"artifacts"`
	ExecutionTime      int                `json:"executionTime"`
	Releases           []int64            `json:"releases"`
}

func (*TestCaseExecution) String

func (t *TestCaseExecution) String() string
type TestCaseExecutionLink struct {
	TceID int64  `json:"tceId"`
	Rel   string `json:"rel"`
	Href  string `json:"href"`
}

func (*TestCaseExecutionLink) String

func (l *TestCaseExecutionLink) String() string

type TestCaseType added in v0.2.1

type TestCaseType string
const (
	TEST_CASE_TYPE_TEST_CASE        TestCaseType = "TestCase"
	TEST_CASE_TYPE_TEST_CASE_FOLDER TestCaseType = "TestCaseFolder"
)

type TestEnvironment

type TestEnvironment struct {
	Key   string `json:"key"`
	Value string `json:"value"`
	Desc  string `json:"desc,omitempty"`
}

func (*TestEnvironment) String

func (t *TestEnvironment) String() string

type TestStep

type TestStep struct {
	Name           string `json:"name"`
	Description    string `json:"description,omitempty"`
	Verdict        string `json:"verdict,omitempty"`
	ExpectedResult string `json:"expectedResult,omitempty"`
}

func (*TestStep) AsTestStep

func (f *TestStep) AsTestStep() *TestStep

func (*TestStep) AsTestStepFolder

func (f *TestStep) AsTestStepFolder() *TestStepFolder

func (*TestStep) GetType

func (f *TestStep) GetType() TestStepType

func (*TestStep) MarshalJSON added in v0.2.0

func (f *TestStep) MarshalJSON() ([]byte, error)

func (*TestStep) String

func (f *TestStep) String() string

type TestStepFolder

type TestStepFolder struct {
	Name           string              `json:"name"`
	Description    string              `json:"description,omitempty"`
	Verdict        Verdict             `json:"verdict,omitempty"`
	ExpectedResult string              `json:"expectedResult,omitempty"`
	TestSteps      []IAbstractTestStep `json:"teststeps"`
}

func (*TestStepFolder) AsTestStep

func (f *TestStepFolder) AsTestStep() *TestStep

func (*TestStepFolder) AsTestStepFolder

func (f *TestStepFolder) AsTestStepFolder() *TestStepFolder

func (*TestStepFolder) GetType

func (f *TestStepFolder) GetType() TestStepType

func (*TestStepFolder) MarshalJSON added in v0.2.0

func (f *TestStepFolder) MarshalJSON() ([]byte, error)

func (*TestStepFolder) String

func (f *TestStepFolder) String() string

func (*TestStepFolder) UnmarshalJSON

func (t *TestStepFolder) UnmarshalJSON(data []byte) error

Custom unmarshal function to handle different types of test steps.

type TestStepType

type TestStepType string
const (
	TEST_STEP_TYPE_TEST_STEP        TestStepType = "TestStep"
	TEST_STEP_TYPE_TEST_STEP_FOLDER TestStepType = "TestStepFolder"
)

type TestSteps

type TestSteps struct {
	Setup     []IAbstractTestStep `json:"setup"`
	Execution []IAbstractTestStep `json:"execution"`
	Teardown  []IAbstractTestStep `json:"teardown"`
}

func (*TestSteps) String

func (t *TestSteps) String() string

func (*TestSteps) UnmarshalJSON

func (t *TestSteps) UnmarshalJSON(data []byte) error

Custom unmarshal function to handle different types of test steps.

type UploadReport added in v0.2.0

type UploadReport struct {
	// Name of the report
	Name string `json:"name"`
	// Timestamp of the report with milliseconds
	Timestamp                int64                     `json:"timestamp"`
	TestCases                []IAbstractUploadTestCase `json:"testcases"`
	OptionalReportIdentifier string                    `json:"optionalReportIdentifier,omitempty"`
}

type UploadStatus

type UploadStatus struct {
	Status       string `json:"status"`
	UploadResult struct {
		UploadReturnCode int      `json:"uploadReturnCode"`
		ReportID         int      `json:"reportId"`
		ResultMessages   []string `json:"resultMessages"`
		IsDoubleUpload   bool     `json:"isDoubleUpload"`
	} `json:"uploadResult"`
}

func (*UploadStatus) String

func (u *UploadStatus) String() string

type UploadTestCase added in v0.2.0

type UploadTestCase struct {
	Name          string  `json:"name"`
	Description   string  `json:"description,omitempty"`
	Verdict       Verdict `json:"verdict"`
	Timestamp     int64   `json:"timestamp"`
	ExecutionTime int     `json:"executionTime,omitempty"`

	Constants  []*Constant  `json:"constants,omitempty"`
	Attributes []*Attribute `json:"attributes,omitempty"`

	SetupTestSteps     []IAbstractTestStep `json:"setupTestSteps,omitempty"`
	ExecutionTestSteps []IAbstractTestStep `json:"executionTestSteps,omitempty"`
	TeardownTestSteps  []IAbstractTestStep `json:"teardownTestSteps,omitempty"`
	Parameters         []*Argument         `json:"parameters,omitempty"`
	Artifacts          []string            `json:"artifacts,omitempty"`
	ArtifactRefs       []*ArtifactRef      `json:"artifactRefs,omitempty"`
	Review             *Review             `json:"review,omitempty"`
	ParamSet           string              `json:"paramSet,omitempty"`
	Environments       []*TestEnvironment  `json:"environments,omitempty"`
	Recordings         []*Recording        `json:"recordings,omitempty"`
}

func (*UploadTestCase) AsTestCase added in v0.2.1

func (f *UploadTestCase) AsTestCase() *UploadTestCase

func (*UploadTestCase) AsTestCaseFolder added in v0.2.1

func (f *UploadTestCase) AsTestCaseFolder() *UploadTestCaseFolder

func (*UploadTestCase) GetType added in v0.2.0

func (f *UploadTestCase) GetType() TestCaseType

func (*UploadTestCase) MarshalJSON added in v0.2.0

func (f *UploadTestCase) MarshalJSON() ([]byte, error)

type UploadTestCaseFolder added in v0.2.0

type UploadTestCaseFolder struct {
	Name      string                    `json:"name"`
	TestCases []IAbstractUploadTestCase `json:"testcases"`
}

func (*UploadTestCaseFolder) AsTestCase added in v0.2.1

func (f *UploadTestCaseFolder) AsTestCase() *UploadTestCase

func (*UploadTestCaseFolder) AsTestCaseFolder added in v0.2.1

func (f *UploadTestCaseFolder) AsTestCaseFolder() *UploadTestCaseFolder

func (*UploadTestCaseFolder) GetType added in v0.2.0

func (f *UploadTestCaseFolder) GetType() TestCaseType

func (*UploadTestCaseFolder) MarshalJSON added in v0.2.0

func (f *UploadTestCaseFolder) MarshalJSON() ([]byte, error)

type User

type User struct {
	ID                         int64                 `json:"id"`
	UserName                   string                `json:"userName"`
	DisplayName                string                `json:"displayName"`
	Email                      string                `json:"email"`
	Company                    string                `json:"company"`
	AssociatedProjects         []*UserProjectContext `json:"associatedProjects"`
	SystemGroups               []string              `json:"systemGroups"`
	GlobalPermissions          []string              `json:"globalPermissions"`
	UserType                   UserType              `json:"userType"`
	ConfirmedDisclaimerVersion int                   `json:"confirmedDisclaimerVersion"`
	// An approximate indication of when the user last logged into web interface. Scaled in weeks, months etc. for privacy reasons.
	LastSeen string `json:"lastSeen"`
}

func (*User) String

func (u *User) String() string

type UserActivationStatus

type UserActivationStatus string
const (
	USER_ACTIVATION_STATUS_ACTIVATED   UserActivationStatus = "ACTIVATED"
	USER_ACTIVATION_STATUS_IN_PROGRESS UserActivationStatus = "IN_PROGRESS"
	USER_ACTIVATION_STATUS_DEACTIVATED UserActivationStatus = "DEACTIVATED"
)

type UserManagementService

type UserManagementService struct {
	// contains filtered or unexported fields
}

func (*UserManagementService) GetRoles

func (s *UserManagementService) GetRoles(projectId int) ([]*ProjectRole, *http.Response, error)

func (*UserManagementService) GetUsers

func (s *UserManagementService) GetUsers() ([]*User, *http.Response, error)

func (*UserManagementService) Whoami

func (s *UserManagementService) Whoami() (*User, *http.Response, error)

type UserManagementServiceInterface

type UserManagementServiceInterface interface {
	// Retrieve information about the current user.
	Whoami() (*User, *http.Response, error)
	// Retrieve information on all users.
	GetUsers() ([]*User, *http.Response, error)
	// Retrieve all project roles for a project.
	GetRoles(projectId int) ([]*ProjectRole, *http.Response, error)
}

type UserProjectContext

type UserProjectContext struct {
	ProjectID               int                  `json:"projectId"`
	ActivationStatus        UserActivationStatus `json:"activationStatus"`
	IndividualPermissions   []string             `json:"individualPermissions"`
	ProjectRoles            []int64              `json:"projectRoles"`
	IndividualProjectRoles  []int64              `json:"individualProjectRoles"`
	SystemGroupProjectRoles []int64              `json:"systemGroupProjectRoles"`
	EffectivePermissions    []string             `json:"effectivePermissions"`
}

func (*UserProjectContext) String

func (u *UserProjectContext) String() string

type UserType

type UserType string
const (
	USER_TYPE_REGULAR   UserType = "REGULAR"
	USER_TYPE_TECHNICAL UserType = "TECHNICAL"
)

type ValidityConstraint added in v0.3.0

type ValidityConstraint string
const (
	VALIDITY_CONSTRAINT_NO_CONSTRAINT ValidityConstraint = "NO_CONSTRAINT"
	VALIDITY_CONSTRAINT_ONLY_VALID    ValidityConstraint = "ONLY_VALID"
	VALIDITY_CONSTRAINT_ONLY_INVALID  ValidityConstraint = "ONLY_INVALID"
)

type Verdict

type Verdict string
const (
	VERDICT_NONE         Verdict = "NONE"
	VERDICT_PASSED       Verdict = "PASSED"
	VERDICT_INCONCLUSIVE Verdict = "INCONCLUSIVE"
	VERDICT_FAILED       Verdict = "FAILED"
	VERDICT_ERROR        Verdict = "ERROR"
)

Directories

Path Synopsis
cmd
go-test-guide command

Jump to

Keyboard shortcuts

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