CloudMachineTest

CloudMachineTest

High-level testing infrastructure for testing cloud machine images.

Constructor

new CloudMachineTest()

Source:

Methods

automatedTests() → {Promise}

Source:

The automated tests to run on the created machine. Override with your own tests.

Returns:

resolves after all tests have been run.

Type
Promise

cleanup() → {Promise}

Source:

Cleans up artifacts from running the test.

Returns:

resolves when artifacts have been cleaned up.

Type
Promise

createInstance() → {Promise}

Source:

Create a new machine instance.

Returns:

resolves when the new instance has been created.

Type
Promise

destroyInstance() → {Promise}

Source:
To Do:
  • Allow running destruction in background.

Stop the machine instance.

Returns:

resolves when the instance has been destroyed.

Type
Promise

ensureCredentials() → {Promise}

Source:
To Do:
  • Implement method.

Ensure we have credentials and permissions to execute all commands needed for testing.

Returns:

resolves after credentials and permissions have been checked.

Type
Promise

manualSSH() → {Promise}

Source:

Offer the user the option of SSHing into the machine instance to manually test or debug.

Returns:

resolves when the user is finished with any manual SSH tasks.

Type
Promise

manualSteps() → {Promise}

Source:

Adds manual actions that can be taken while running tests.

Returns:

resolves when actions have been completed.

Type
Promise

prepareEnvironment() → {Promise}

Source:

Ensures that the test is able to run: ensures that credentials exist and are valid, that test servers have been cleaned up, and cleans up files from previous runs.

Returns:

resolves when the environment has been prepared.

Type
Promise

preventRunawayServers() → {Promise}

Source:

Checks to ensure that machine instances are cleaned up after testing, both by using a hard limit for the total number of machines, as well as checking if any instances have been alive for a long period of time.

Returns:

resolves after runaway servers have been checked.

Type
Promise

runTests() → {Promise}

Source:

Executes automatic tests in Test#automatedTests, if requested by the user.

Returns:

resolves when automated testing is finished.

Type
Promise

setup() → {Promise}

Source:

Prepares the test environment.

Returns:

resolves when the environment has been created.

Type
Promise

test() → {Promise}

Source:

The highest-level organization of testing.

Returns:

resolves when the test has completed.

Type
Promise