mirror of
https://github.com/pgbackrest/pgbackrest.git
synced 2024-12-16 10:20:02 +02:00
57 lines
2.6 KiB
Perl
57 lines
2.6 KiB
Perl
|
####################################################################################################################################
|
||
|
# S3 Test Environment
|
||
|
####################################################################################################################################
|
||
|
package pgBackRestTest::Env::S3EnvTest;
|
||
|
use parent 'pgBackRestTest::Common::RunTest';
|
||
|
|
||
|
####################################################################################################################################
|
||
|
# Perl includes
|
||
|
####################################################################################################################################
|
||
|
use strict;
|
||
|
use warnings FATAL => qw(all);
|
||
|
use Carp qw(confess);
|
||
|
use English '-no_match_vars';
|
||
|
|
||
|
use pgBackRest::Common::Log;
|
||
|
use pgBackRest::Common::String;
|
||
|
use pgBackRest::Storage::S3::Driver;
|
||
|
|
||
|
use pgBackRestTest::Common::ExecuteTest;
|
||
|
use pgBackRestTest::Common::RunTest;
|
||
|
|
||
|
####################################################################################################################################
|
||
|
# initS3
|
||
|
####################################################################################################################################
|
||
|
sub initS3
|
||
|
{
|
||
|
my $self = shift;
|
||
|
|
||
|
my ($strBucket, $strEndPoint, $strRegion, $strAccessKeyId, $strSecretAccessKey) =
|
||
|
('pgbackrest-dev', 's3.amazonaws.com', 'us-east-1', 'accessKey1', 'verySecretKey1');
|
||
|
|
||
|
my $strS3ServerPath = $self->testPath() . '/s3server';
|
||
|
my $strS3ServerDataPath = "${strS3ServerPath}/data";
|
||
|
my $strS3ServerMetaPath = "${strS3ServerPath}/meta";
|
||
|
my $strS3ServerLogFile = "${strS3ServerPath}/server.log";
|
||
|
storageTest()->pathCreate($strS3ServerDataPath, {bCreateParent => true});
|
||
|
storageTest()->pathCreate($strS3ServerMetaPath, {bCreateParent => true});
|
||
|
|
||
|
$self->{strS3Command} = 'export PYTHONWARNINGS="ignore" && aws s3 --no-verify-ssl';
|
||
|
|
||
|
executeTest("echo '127.0.0.1 ${strBucket}.${strEndPoint} ${strEndPoint}' | sudo tee -a /etc/hosts");
|
||
|
executeTest('sudo sed -i "s/logLevel\"\: \"info\"/logLevel\"\: \"trace\"/" /root/scalitys3/config.json');
|
||
|
executeTest("sudo npm start --prefix /root/scalitys3 > ${strS3ServerLogFile} 2>&1 &");
|
||
|
executeTest("tail -f ${strS3ServerLogFile} | grep -m 1 \"server started\"");
|
||
|
executeTest("$self->{strS3Command} mb s3://pgbackrest-dev");
|
||
|
|
||
|
# Test variables
|
||
|
my $strFile = 'file.txt';
|
||
|
my $strFileContent = 'TESTDATA';
|
||
|
|
||
|
# Initialize the driver
|
||
|
return new pgBackRest::Storage::S3::Driver(
|
||
|
$strBucket, $strEndPoint, $strRegion, $strAccessKeyId, $strSecretAccessKey, {bVerifySsl => false, lBufferMax => 1048576});
|
||
|
}
|
||
|
|
||
|
1;
|