func()

in mmv1/api/resource.go [1480:1524]


func (r Resource) IamImportQualifiersForTest() string {
	var importFormat string
	if len(r.IamPolicy.ImportFormat) > 0 {
		importFormat = r.IamPolicy.ImportFormat[0]
	} else {
		importFormat = r.IamPolicy.SelfLink
		if importFormat == "" {
			importFormat = r.SelfLinkUrl()
		}
	}

	params := r.ExtractIdentifiers(importFormat)
	var importQualifiers []string
	for i, param := range params {
		if param == "project" {
			if i != len(params)-1 {
				// If the last parameter is project then we want to create a new project to use for the test, so don't default from the environment
				if r.IamPolicy.TestProjectName == "" {
					importQualifiers = append(importQualifiers, "envvar.GetTestProjectFromEnv()")
				} else {
					importQualifiers = append(importQualifiers, `context["project_id"]`)
				}
			}
		} else if param == "zone" && r.IamPolicy.SubstituteZoneValue {
			importQualifiers = append(importQualifiers, "envvar.GetTestZoneFromEnv()")
		} else if param == "region" || param == "location" {
			example := r.FirstTestExample()
			if example.RegionOverride == "" {
				importQualifiers = append(importQualifiers, "envvar.GetTestRegionFromEnv()")
			} else {
				importQualifiers = append(importQualifiers, fmt.Sprintf("\"%s\"", example.RegionOverride))
			}
		} else if param == "universe_domain" {
			importQualifiers = append(importQualifiers, "envvar.GetTestUniverseDomainFromEnv()")
		} else {
			break
		}
	}

	if len(importQualifiers) == 0 {
		return ""
	}

	return strings.Join(importQualifiers, ", ")
}