Help us shape the future of Go! Take the 2026 Go Developer Survey

testutil

package
v0.18.1 Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package testutil provides common test utilities and mock data for Azure Container Registry CLI operations.

Index

Constants

This section is empty.

Variables

View Source
var (
	// TestCtx is the default context used for testing.
	TestCtx = context.Background()
	// TestLoginURL is the mock ACR login URL used for testing.
	TestLoginURL = "foo.azurecr.io"
	// TestRepo is the mock repository name used for testing.
	TestRepo = "bar"
	// TagName is the default tag name used for testing.
	TagName = "latest"
	// TagName1 is a test tag name variant.
	TagName1 = "jammy"
	// TagName2 is another test tag name variant with date suffix.
	TagName2 = "jammy-20240808"
	// TagName3 is a test tag name variant with version suffix.
	TagName3 = "jammy-20240627.1"
	// TagName4 is a test tag name variant with numeric version.
	TagName4 = "20.04"
	// TagName1FloatingTag is a test tag name variant with patched suffix.
	TagName1FloatingTag = "jammy-patched"
	// TagName2FloatingTag is a test tag name variant with patched suffix.
	TagName2FloatingTag = "jammy-20240808-patched"
	// TagName3FloatingTag is a test tag name variant with patched suffix.
	TagName3FloatingTag = "jammy-20240627.1-patched"
	// TagName4FloatingTag is a test tag name variant with patched suffix.
	TagName4FloatingTag = "20.04-patched"
	// TagName1Incremental1 is a test tag name variant with incremental number.
	TagName1Incremental1 = "jammy-1"
	// TagName2Incremental1 is a test tag name variant with incremental number.
	TagName2Incremental1 = "jammy-20240808-1"
	// TagName3Incremental1 is a test tag name variant with incremental number.
	TagName3Incremental1 = "jammy-20240627.1-1"
	// TagName4Incremental1 is a test tag name variant with incremental number.
	TagName4Incremental1 = "20.04-1"
	// TagName1Incremental2 is a test tag name variant with incremental number.
	TagName1Incremental2 = "jammy-2"
	// TagName2Incremental2 is a test tag name variant with incremental number.
	TagName2Incremental2 = "jammy-20240808-2"
	// TagName3Incremental2 is a test tag name variant with incremental number.
	TagName3Incremental2 = "jammy-20240627.1-2"
	// TagName4Incremental2 is a test tag name variant with incremental number.
	TagName4Incremental2 = "20.04-2"
	// RepoName1 is a test repository name variant.
	RepoName1 = "repo1"
	// RepoName2 is a test repository name variant.
	RepoName2 = "repo2"
	// RepoName3 is a test repository name variant.
	RepoName3 = "repo3"
	// RepoName4 is a test repository name variant.
	RepoName4 = "repo4"

	// NotFoundResponse is a mock HTTP 404 response for testing.
	NotFoundResponse = autorest.Response{
		Response: &http.Response{
			StatusCode: 404,
		},
	}
	// DeletedResponse is a mock HTTP 200 response for testing deletion operations.
	DeletedResponse = autorest.Response{
		Response: &http.Response{
			StatusCode: 200,
		},
	}

	// NotFoundTagResponse is the response for GetAcrTags when the repository is not found.
	NotFoundTagResponse = &acr.RepositoryTagsType{
		Response: NotFoundResponse,
	}

	// EmptyListTagsResult is the response for GetAcrTags when there are no tags on the testRepo.
	EmptyListTagsResult = &acr.RepositoryTagsType{
		Registry:       &TestLoginURL,
		ImageName:      &TestRepo,
		TagsAttributes: nil,
	}

	// OneTagResult is the response for GetAcrTags when there is one tag on the testRepo.
	OneTagResult = &acr.RepositoryTagsType{
		Response: autorest.Response{
			Response: &http.Response{
				StatusCode: 200,
			},
		},
		Registry:  &TestLoginURL,
		ImageName: &TestRepo,
		TagsAttributes: &[]acr.TagAttributesBase{
			{
				Name:                 &TagName,
				LastUpdateTime:       &lastUpdateTime,
				ChangeableAttributes: &acr.ChangeableAttributes{DeleteEnabled: &deleteEnabled, WriteEnabled: &writeEnabled},
				Digest:               &digest,
			},
		},
	}

	// FourTagsResult is a mock response containing four test tags for testing.
	FourTagsResult = &acr.RepositoryTagsType{
		Response: autorest.Response{
			Response: &http.Response{
				StatusCode: 200,
			},
		},
		Registry:  &TestLoginURL,
		ImageName: &TestRepo,
		TagsAttributes: &[]acr.TagAttributesBase{{
			Name:                 &TagName1,
			LastUpdateTime:       &lastUpdateTime,
			ChangeableAttributes: &acr.ChangeableAttributes{DeleteEnabled: &deleteEnabled, WriteEnabled: &writeEnabled},
			Digest:               &digest,
		}, {
			Name:                 &TagName2,
			LastUpdateTime:       &lastUpdateTime,
			ChangeableAttributes: &acr.ChangeableAttributes{DeleteEnabled: &deleteEnabled, WriteEnabled: &writeEnabled},
			Digest:               &digest,
		}, {
			Name:                 &TagName3,
			LastUpdateTime:       &lastUpdateTime,
			ChangeableAttributes: &acr.ChangeableAttributes{DeleteEnabled: &deleteEnabled, WriteEnabled: &writeEnabled},
			Digest:               &multiArchDigest,
		}, {
			Name:                 &TagName4,
			LastUpdateTime:       &lastUpdateTime,
			ChangeableAttributes: &acr.ChangeableAttributes{DeleteEnabled: &deleteEnabled, WriteEnabled: &writeEnabled},
			Digest:               &digest,
		}},
	}

	// FourTagsResultWithPatchTags is a mock response containing tags with patch and incremental variants for testing.
	FourTagsResultWithPatchTags = &acr.RepositoryTagsType{
		Response: autorest.Response{
			Response: &http.Response{
				StatusCode: 200,
			},
		},
		Registry:  &TestLoginURL,
		ImageName: &TestRepo,
		TagsAttributes: &[]acr.TagAttributesBase{{
			Name:                 &TagName1,
			LastUpdateTime:       &lastUpdateTime,
			ChangeableAttributes: &acr.ChangeableAttributes{DeleteEnabled: &deleteEnabled, WriteEnabled: &writeEnabled},
			Digest:               &digest,
		}, {
			Name:                 &TagName1Incremental1,
			LastUpdateTime:       &lastUpdateTime,
			ChangeableAttributes: &acr.ChangeableAttributes{DeleteEnabled: &deleteEnabled, WriteEnabled: &writeEnabled},
			Digest:               &digest,
		}, {
			Name:                 &TagName1Incremental2,
			LastUpdateTime:       &lastUpdateTime,
			ChangeableAttributes: &acr.ChangeableAttributes{DeleteEnabled: &deleteEnabled, WriteEnabled: &writeEnabled},
			Digest:               &digest,
		}, {
			Name:                 &TagName1FloatingTag,
			LastUpdateTime:       &lastUpdateTime,
			ChangeableAttributes: &acr.ChangeableAttributes{DeleteEnabled: &deleteEnabled, WriteEnabled: &writeEnabled},
			Digest:               &digest,
		}, {
			Name:                 &TagName2,
			LastUpdateTime:       &lastUpdateTime,
			ChangeableAttributes: &acr.ChangeableAttributes{DeleteEnabled: &deleteEnabled, WriteEnabled: &writeEnabled},
			Digest:               &digest,
		}, {
			Name:                 &TagName2Incremental1,
			LastUpdateTime:       &lastUpdateTime,
			ChangeableAttributes: &acr.ChangeableAttributes{DeleteEnabled: &deleteEnabled, WriteEnabled: &writeEnabled},
			Digest:               &digest,
		}, {
			Name:                 &TagName2Incremental2,
			LastUpdateTime:       &lastUpdateTime,
			ChangeableAttributes: &acr.ChangeableAttributes{DeleteEnabled: &deleteEnabled, WriteEnabled: &writeEnabled},
			Digest:               &digest,
		}, {
			Name:                 &TagName2FloatingTag,
			LastUpdateTime:       &lastUpdateTime,
			ChangeableAttributes: &acr.ChangeableAttributes{DeleteEnabled: &deleteEnabled, WriteEnabled: &writeEnabled},
			Digest:               &digest,
		}, {
			Name:                 &TagName3,
			LastUpdateTime:       &lastUpdateTime,
			ChangeableAttributes: &acr.ChangeableAttributes{DeleteEnabled: &deleteEnabled, WriteEnabled: &writeEnabled},
			Digest:               &digest,
		}, {
			Name:                 &TagName3Incremental1,
			LastUpdateTime:       &lastUpdateTime,
			ChangeableAttributes: &acr.ChangeableAttributes{DeleteEnabled: &deleteEnabled, WriteEnabled: &writeEnabled},
			Digest:               &digest,
		}, {
			Name:                 &TagName3Incremental2,
			LastUpdateTime:       &lastUpdateTime,
			ChangeableAttributes: &acr.ChangeableAttributes{DeleteEnabled: &deleteEnabled, WriteEnabled: &writeEnabled},
			Digest:               &digest,
		}, {
			Name:                 &TagName3FloatingTag,
			LastUpdateTime:       &lastUpdateTime,
			ChangeableAttributes: &acr.ChangeableAttributes{DeleteEnabled: &deleteEnabled, WriteEnabled: &writeEnabled},
			Digest:               &digest,
		}, {
			Name:                 &TagName4,
			LastUpdateTime:       &lastUpdateTime,
			ChangeableAttributes: &acr.ChangeableAttributes{DeleteEnabled: &deleteEnabled, WriteEnabled: &writeEnabled},
			Digest:               &digest,
		}, {
			Name:                 &TagName4Incremental1,
			LastUpdateTime:       &lastUpdateTime,
			ChangeableAttributes: &acr.ChangeableAttributes{DeleteEnabled: &deleteEnabled, WriteEnabled: &writeEnabled},
			Digest:               &digest,
		}, {
			Name:                 &TagName4Incremental2,
			LastUpdateTime:       &lastUpdateTime,
			ChangeableAttributes: &acr.ChangeableAttributes{DeleteEnabled: &deleteEnabled, WriteEnabled: &writeEnabled},
			Digest:               &digest,
		}, {
			Name:                 &TagName4FloatingTag,
			LastUpdateTime:       &lastUpdateTime,
			ChangeableAttributes: &acr.ChangeableAttributes{DeleteEnabled: &deleteEnabled, WriteEnabled: &writeEnabled},
			Digest:               &digest,
		}},
	}
)

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

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