Home

Awesome

Serverless e2e testing examples

This project contains example applications using serverless technology You can run all e2e test automation runner.

E2E automation workflow:

This project uses endly as e2e test runner.

@deploy.yaml

init:
   srcCodeLocation: ${appPath}/hello/
   target:
      URL: ssh://127.0.0.1
   credentials: dev   
defaults:
  credentials: gcp-e2e
pipeline:
  
  package:
    action: exec:run
    comments: vendor build for deployment speedup using SSH service
    target: $target
    commands:
      - cd ${appPath}/split
      - go mod vendor

  deploy:
    action: gcp/cloudfunctions:deploy
    '@name': HelloWorld
    entryPoint: HelloWorldFn
    runtime: go111
    source:
      URL: $srcCodeLocation
  1. 'init' node: variable initialization
  2. 'pipeline' node: tasks definition
  3. package/deploy is arbitrary task name.
  4. defaults node appends specified attributes to all action nodes (no override).
  5. node with 'action' attribute triggers API call to specified service:method
    • package
    sshExecutorService.run({
        target: {
            URL:"ssh://127.0.0.1",
            credentials: "dev"
        },
        commands: [
            'cd ${appPath}/split',
            'go mod vendor' 
        ]
    })
    
    • deploy
    gcpCloudFunctionsService.deploy({
         name: "HelloWorld",
         credentials: "gcp-e2e",
         entryPoint: "HelloWorldFn",
         runtime: "go111",
         source: {
            URL: '/somepath//hello/'
         }
    })
    
  6. API contracts details
     endly -s='gcp/cloudfunctions'
     endly -s='gcp/cloudfunctions:deploy'
     
     endly -s='aws/lambda'
     endly -s='aws/lambda:deploy'

     endly -s='*'
      
  1. Find out more about E2E endly workflows.