github.com/weaviate/weaviate@v1.24.6/test/modules/backup-azure/backup_journey_test.go (about) 1 // _ _ 2 // __ _____ __ ___ ___ __ _| |_ ___ 3 // \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \ 4 // \ V V / __/ (_| |\ V /| | (_| | || __/ 5 // \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___| 6 // 7 // Copyright © 2016 - 2024 Weaviate B.V. All rights reserved. 8 // 9 // CONTACT: hello@weaviate.io 10 // 11 12 package test 13 14 import ( 15 "context" 16 "testing" 17 "time" 18 19 "github.com/stretchr/testify/require" 20 "github.com/weaviate/weaviate/test/docker" 21 "github.com/weaviate/weaviate/test/helper" 22 "github.com/weaviate/weaviate/test/helper/journey" 23 moduleshelper "github.com/weaviate/weaviate/test/helper/modules" 24 ) 25 26 const ( 27 envAzureEndpoint = "AZURE_ENDPOINT" 28 envAzureContainer = "BACKUP_AZURE_CONTAINER" 29 30 envAzureStorageConnectionString = "AZURE_STORAGE_CONNECTION_STRING" 31 connectionString = "DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://%s/devstoreaccount1;" 32 33 azureBackupJourneyClassName = "AzureBackup" 34 azureBackupJourneyBackupIDSingleNode = "azure-backup-single-node" 35 azureBackupJourneyBackupIDCluster = "azure-backup-cluster" 36 azureBackupJourneyContainerName = "backups" 37 ) 38 39 func Test_BackupJourney(t *testing.T) { 40 ctx, cancel := context.WithTimeout(context.Background(), 30*time.Minute) 41 defer cancel() 42 43 t.Run("single node", func(t *testing.T) { 44 t.Log("pre-instance env setup") 45 t.Setenv(envAzureContainer, azureBackupJourneyContainerName) 46 47 compose, err := docker.New(). 48 WithBackendAzure(azureBackupJourneyContainerName). 49 WithText2VecContextionary(). 50 WithWeaviate(). 51 Start(ctx) 52 require.Nil(t, err) 53 54 t.Log("post-instance env setup") 55 azuriteEndpoint := compose.GetAzurite().URI() 56 t.Setenv(envAzureEndpoint, azuriteEndpoint) 57 moduleshelper.CreateAzureContainer(ctx, t, azuriteEndpoint, azureBackupJourneyContainerName) 58 // defer moduleshelper.DeleteAzureContainer(ctx, t, azuriteEndpoint, azureBackupJourneyContainerName) 59 helper.SetupClient(compose.GetWeaviate().URI()) 60 61 t.Run("backup-azure", func(t *testing.T) { 62 journey.BackupJourneyTests_SingleNode(t, compose.GetWeaviate().URI(), 63 "azure", azureBackupJourneyClassName, azureBackupJourneyBackupIDSingleNode, nil) 64 }) 65 66 require.Nil(t, compose.Terminate(ctx)) 67 }) 68 69 t.Run("multiple node", func(t *testing.T) { 70 t.Log("pre-instance env setup") 71 t.Setenv(envAzureContainer, azureBackupJourneyContainerName) 72 73 compose, err := docker.New(). 74 WithBackendAzure(azureBackupJourneyContainerName). 75 WithText2VecContextionary(). 76 WithWeaviateCluster(). 77 Start(ctx) 78 require.Nil(t, err) 79 80 t.Log("post-instance env setup") 81 azuriteEndpoint := compose.GetAzurite().URI() 82 t.Setenv(envAzureEndpoint, azuriteEndpoint) 83 moduleshelper.CreateAzureContainer(ctx, t, azuriteEndpoint, azureBackupJourneyContainerName) 84 // defer moduleshelper.DeleteAzureContainer(ctx, t, azuriteEndpoint, azureBackupJourneyContainerName) 85 helper.SetupClient(compose.GetWeaviate().URI()) 86 87 t.Run("backup-azure", func(t *testing.T) { 88 journey.BackupJourneyTests_Cluster(t, "azure", azureBackupJourneyClassName, 89 azureBackupJourneyBackupIDCluster, nil, compose.GetWeaviate().URI(), compose.GetWeaviateNode2().URI()) 90 }) 91 92 require.Nil(t, compose.Terminate(ctx)) 93 }) 94 }