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