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 }