SemanticSearchPOC / adapters /handlers /rest /handlers_backup_test.go
KevinStephenson
Adding in weaviate code
b110593
raw
history blame
3.02 kB
// _ _
// __ _____ __ ___ ___ __ _| |_ ___
// \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \
// \ V V / __/ (_| |\ V /| | (_| | || __/
// \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___|
//
// Copyright © 2016 - 2024 Weaviate B.V. All rights reserved.
//
// CONTACT: [email protected]
//
package rest
import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/weaviate/weaviate/entities/models"
ubak "github.com/weaviate/weaviate/usecases/backup"
)
func TestCompressionBackupCfg(t *testing.T) {
tcs := map[string]struct {
cfg *models.BackupConfig
expectedCompression ubak.CompressionLevel
expectedCPU int
expectedChunkSize int
}{
"without config": {
cfg: nil,
expectedCompression: ubak.DefaultCompression,
expectedCPU: ubak.DefaultCPUPercentage,
expectedChunkSize: ubak.DefaultChunkSize,
},
"with config": {
cfg: &models.BackupConfig{
CPUPercentage: 25,
ChunkSize: 512,
CompressionLevel: models.BackupConfigCompressionLevelBestSpeed,
},
expectedCompression: ubak.BestSpeed,
expectedCPU: 25,
expectedChunkSize: 512,
},
"with partial config [CPU]": {
cfg: &models.BackupConfig{
CPUPercentage: 25,
},
expectedCompression: ubak.DefaultCompression,
expectedCPU: 25,
expectedChunkSize: ubak.DefaultChunkSize,
},
"with partial config [ChunkSize]": {
cfg: &models.BackupConfig{
ChunkSize: 125,
},
expectedCompression: ubak.DefaultCompression,
expectedCPU: ubak.DefaultCPUPercentage,
expectedChunkSize: 125,
},
"with partial config [Compression]": {
cfg: &models.BackupConfig{
CompressionLevel: models.BackupConfigCompressionLevelBestSpeed,
},
expectedCompression: ubak.BestSpeed,
expectedCPU: ubak.DefaultCPUPercentage,
expectedChunkSize: ubak.DefaultChunkSize,
},
}
for n, tc := range tcs {
t.Run(n, func(t *testing.T) {
ccfg := compressionFromBCfg(tc.cfg)
assert.Equal(t, tc.expectedCompression, ccfg.Level)
assert.Equal(t, tc.expectedCPU, ccfg.CPUPercentage)
assert.Equal(t, tc.expectedChunkSize, ccfg.ChunkSize)
})
}
}
func TestCompressionRestoreCfg(t *testing.T) {
tcs := map[string]struct {
cfg *models.RestoreConfig
expectedCompression ubak.CompressionLevel
expectedCPU int
expectedChunkSize int
}{
"without config": {
cfg: nil,
expectedCompression: ubak.DefaultCompression,
expectedCPU: ubak.DefaultCPUPercentage,
expectedChunkSize: ubak.DefaultChunkSize,
},
"with config": {
cfg: &models.RestoreConfig{
CPUPercentage: 25,
},
expectedCPU: 25,
},
}
for n, tc := range tcs {
t.Run(n, func(t *testing.T) {
ccfg := compressionFromRCfg(tc.cfg)
assert.Equal(t, tc.expectedCPU, ccfg.CPUPercentage)
})
}
}