github.com/henvic/wedeploycli@v1.7.6-0.20200319005353-3630f582f284/functional/tests/deploy.exp (about)

     1  #!/usr/bin/expect
     2  
     3  spawn $env(SHELL)
     4  
     5  Feature: "Deploy"
     6  
     7  send "cd tests/fixtures/projectA\r"
     8  expect {
     9    timeout {
    10      handle_timeout
    11      error "Had problem changing to project directory"
    12     }
    13    "fixtures/projectA"
    14  }
    15  
    16  Scenario: "Deploy to a new project" {
    17    send "$::bin deploy\r"
    18    expect {
    19      timeout { handle_timeout; break }
    20      "Type project ID"
    21    }
    22  
    23    set deploy1 [prefixed_project deploy1]
    24    send "$deploy1\r"
    25    expect {
    26      timeout { handle_timeout; break }
    27      "No project found."
    28    }
    29    expect {
    30      timeout { handle_timeout; break }
    31      "Create*project \"*$deploy1*\""
    32    }
    33    send "y\r"
    34    expect "Deploying services on project"
    35    set timeout 30
    36    expect {
    37      timeout { handle_timeout; break }
    38      "Deployment succeeded"
    39    }
    40    set timeout $::_default_timeout
    41    assert_service_exists $deploy1 ui
    42  } { delete_project $deploy1 }
    43  
    44  Scenario: "Deploy to an existing project" {
    45    set deploy2 [prefixed_project deploy2]
    46    create_project $deploy2
    47  
    48    send "$::bin deploy\r"
    49    expect {
    50      timeout { handle_timeout; break }
    51      "Type project ID or #"
    52    }
    53    send "$deploy2\r"
    54    expect {
    55      timeout { handle_timeout; break }
    56      "Deploying services to project"
    57    }
    58    set timeout 30
    59    expect {
    60      timeout {
    61        handle_timeout; break }
    62      "Deployment succeeded"
    63    }
    64    set timeout $::_default_timeout
    65    assert_service_exists $deploy2 ui
    66  } { delete_project $deploy2 }
    67  
    68  Scenario: "Deploy project with two services" {
    69    send "cd ../projectB\r"
    70    expect {
    71      timeout {
    72        handle_timeout
    73        error "Had problem changing to project directory"
    74       }
    75      "fixtures/projectB"
    76    }
    77  
    78    set deploy3 [prefixed_project deploy3]
    79    create_project $deploy3
    80  
    81    set timeout 30
    82  
    83    send "$::bin deploy -p $deploy3\r"
    84    expect {
    85      timeout { handle_timeout; break }
    86      "Deploying services to project"
    87    }
    88    expect {
    89      timeout { handle_timeout; break }
    90      "Deployment succeeded in"
    91    }
    92    expect {
    93      timeout { handle_timeout; break }
    94      "Upload completed in"
    95    }
    96    expect {
    97      timeout { handle_timeout; break }
    98      "Deployment succeeded"
    99    }
   100    expect {
   101      timeout { handle_timeout; break }
   102      "Deployment succeeded"
   103    }
   104    assert_service_exists $deploy3 ui1
   105    assert_service_exists $deploy3 ui2
   106  } {
   107    set timeout $::_default_timeout
   108    delete_project $deploy3
   109  }
   110  
   111  Scenario: "Deploy project with bad LCP.json" {
   112    send "cd ../projectC\r"
   113    expect {
   114      timeout {
   115        handle_timeout
   116        error "Had problem changing to project directory"
   117       }
   118      "fixtures/projectC"
   119    }
   120  
   121    set deploy4 [prefixed_project deploy4]
   122    create_project $deploy4
   123  
   124    set timeout 30
   125    send "$::bin deploy -p $deploy4\r"
   126    expect {
   127      timeout { handle_timeout; break }
   128      "Deployment failed"
   129    }
   130    expect {
   131      timeout { handle_timeout; break }
   132      "Build failed*md-$deploy4"
   133    }
   134    set timeout $::_default_timeout
   135    expect {
   136      timeout { handle_timeout; break }
   137      "Open browser to check the logs?"
   138    }
   139    send "n\r"
   140    expect {
   141      timeout { handle_timeout; break }
   142      "fixtures/projectC"
   143    }
   144  } { delete_project $deploy4 }
   145  
   146  Scenario: "Deploy service to a new environment" {
   147    send "cd ../projectA\r"
   148    expect {
   149      timeout {
   150        handle_timeout
   151        error "Had problem changing to project directory"
   152       }
   153      "fixtures/projectA"
   154    }
   155  
   156    set deploy5 [prefixed_project deploy5]
   157    create_project $deploy5
   158  
   159    send "$::bin deploy -p $deploy5 -e dev\r"
   160    expect {
   161      timeout { handle_timeout; break }
   162      "No project found."
   163    }
   164    expect {
   165      timeout { handle_timeout; break }
   166      "Create*project \"*$deploy5-dev*\""
   167    }
   168    send "y\r"
   169    set timeout 30
   170    expect {
   171      timeout { handle_timeout; break }
   172      "Deployment succeeded"
   173    }
   174    set timeout $::_default_timeout
   175    assert_service_exists $deploy5-dev ui
   176  } { delete_project $deploy5 }