54 lines
1.4 KiB
Go
54 lines
1.4 KiB
Go
// +build integration
|
|
|
|
package main
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/Azure/go-autorest/autorest/azure/auth"
|
|
|
|
"github.com/osbuild/osbuild-composer/internal/boot/azuretest"
|
|
"github.com/osbuild/osbuild-composer/internal/test"
|
|
)
|
|
|
|
func panicErr(err error) {
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
}
|
|
|
|
func printErr(err error) {
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func main() {
|
|
fmt.Println("Running a cloud cleanup")
|
|
|
|
// Load Azure credentials
|
|
creds, err := azuretest.GetAzureCredentialsFromEnv()
|
|
panicErr(err)
|
|
if creds == nil {
|
|
panic("empty credentials")
|
|
}
|
|
// Get test ID
|
|
testID, err := test.GenerateCIArtifactName("")
|
|
panicErr(err)
|
|
// Delete the vhd image
|
|
imageName := "image-" + testID + ".vhd"
|
|
fmt.Println("Running delete image from Azure, this should fail if the test succedded")
|
|
err = azuretest.DeleteImageFromAzure(creds, imageName)
|
|
printErr(err)
|
|
|
|
// Delete all remaining resources (see the full list in the CleanUpBootedVM function)
|
|
fmt.Println("Running clean up booted VM, this should fail if the test succedded")
|
|
parameters := azuretest.NewDeploymentParameters(creds, imageName, testID, "")
|
|
clientCredentialsConfig := auth.NewClientCredentialsConfig(creds.ClientID, creds.ClientSecret, creds.TenantID)
|
|
authorizer, err := clientCredentialsConfig.Authorizer()
|
|
panicErr(err)
|
|
err = azuretest.CleanUpBootedVM(creds, parameters, authorizer, testID)
|
|
printErr(err)
|
|
}
|