in integ/s3/validate-and-clean.go [35:94]
func main() {
region := os.Getenv(envAWSRegion)
if region == "" {
exitErrorf("[TEST FAILURE] AWS Region required. Set the value for environment variable- %s", envAWSRegion)
}
bucket := os.Getenv(envS3Bucket)
if bucket == "" {
exitErrorf("[TEST FAILURE] Bucket name required. Set the value for environment variable- %s", envS3Bucket)
}
prefix := os.Getenv(envS3Prefix)
if prefix == "" {
exitErrorf("[TEST FAILURE] S3 object prefix required. Set the value for environment variable- %s", envS3Prefix)
}
testFile := os.Getenv(envTestFile)
if testFile == "" {
exitErrorf("[TEST FAILURE] test verfication file name required. Set the value for environment variable- %s", envTestFile)
}
expectedEventsLen := os.Getenv(envExpectedLogsLen)
if expectedEventsLen == "" {
exitErrorf("[TEST FAILURE] number of expected log events required. Set the value for environment variable- %s", envExpectedLogsLen)
}
numEvents, convertionError := strconv.Atoi(expectedEventsLen)
if convertionError != nil {
exitErrorf("[TEST FAILURE] String to Int convertion Error for EXPECTED_EVENTS_LEN:", convertionError)
}
s3Client, err := getS3Client(region)
if err != nil {
exitErrorf("[TEST FAILURE] Unable to create new S3 client: %v", err)
}
s3Action := os.Getenv(envS3Action)
if s3Action == "validate" {
// Validate the data on the s3 bucket
for i := 0; i <= retries; i++ {
success, canRetry := validate(s3Client, prefix, bucket, testFile, numEvents)
if success {
fmt.Println("[VALIDATION SUCCESSFULL]")
break
} else if !canRetry {
break
}
time.Sleep(retrySleep * time.Second)
}
} else {
// Clean the s3 bucket-- delete all objects
for i := 0; i <= retries; i++ {
success := deleteS3Objects(s3Client, bucket, prefix)
if success {
break
}
time.Sleep(retrySleep * time.Second)
}
}
}