13 Unit tests

The rackunit tests use the test submodule feature added in Racket 5.3. To run all tests, use the shell command, raco test ./.

Be aware that some of the tests make actual requests to AWS. They may take awhile to complete. And to do so, the tests need some personally identifying information from you, such email addresses, or names for certain AWS objects that are safe to use for testing.

For example the tests for the aws/s3 module try to PUT then GET an object to S3—but what bucket and object path name should the tests use? Only you can say. Similarly the aws/ses tests try to send actual emails, and you need to supply suitable email addresses (including an email address that is intentionally not “verified” with SES, to test its response to that condition).

To supply this information, provide a ~/.aws-tests-data file containing various personally identifying information required to run the tests.

Following is an example file, which you may also find in tests/example-dot-aws-tests-data. In this example, suggested default values are provided, whereas others are blank. You should supply or review all of them to make sure they are suitable for you.

# Supply a file in this format as ~/.aws-tests-data.

# You should change the values to those suitable for your AWS account

# and email addresses.


# Name of a test bucket on S3. Do NOT use leading /

test/bucket = test-bucket


# Name of a test resource to put/get/delete on S3. Do NOT use leading /

test/path = path/to/test.txt


# Email address you HAVE verified with SES.

test/verified-sender = <email-address>


# Email address you have NOT verified with SES.

test/unverified-sender = <email-address>


# Email recipient of som test emails

test/recipient = <email-address>


# Name of a test domain (i.e. "table") on SDB.

test/domain = TestDomain