func main()

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)
		}
		
	}
}