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  }