Stdout tests that 'templates pull' pulls down the specified template and writes it to stdout.
(t *testing.T)
| 152 | // Stdout tests that 'templates pull' pulls down the specified template and |
| 153 | // writes it to stdout. |
| 154 | func TestTemplatePull_SpecifiedStdout(t *testing.T) { |
| 155 | t.Parallel() |
| 156 | |
| 157 | client := coderdtest.New(t, &coderdtest.Options{ |
| 158 | IncludeProvisionerDaemon: true, |
| 159 | }) |
| 160 | owner := coderdtest.CreateFirstUser(t, client) |
| 161 | templateAdmin, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID, rbac.RoleTemplateAdmin()) |
| 162 | |
| 163 | source1 := genTemplateVersionSource() |
| 164 | source2 := genTemplateVersionSource() |
| 165 | source3 := genTemplateVersionSource() |
| 166 | |
| 167 | expected, err := echo.Tar(source1) |
| 168 | require.NoError(t, err) |
| 169 | |
| 170 | version1 := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, source1) |
| 171 | _ = coderdtest.AwaitTemplateVersionJobCompleted(t, client, version1.ID) |
| 172 | |
| 173 | template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version1.ID) |
| 174 | |
| 175 | updatedVersion := coderdtest.UpdateTemplateVersion(t, client, owner.OrganizationID, source2, template.ID) |
| 176 | _ = coderdtest.AwaitTemplateVersionJobCompleted(t, client, updatedVersion.ID) |
| 177 | |
| 178 | updatedVersion2 := coderdtest.UpdateTemplateVersion(t, client, owner.OrganizationID, source3, template.ID) |
| 179 | _ = coderdtest.AwaitTemplateVersionJobCompleted(t, client, updatedVersion2.ID) |
| 180 | coderdtest.UpdateActiveTemplateVersion(t, client, template.ID, updatedVersion2.ID) |
| 181 | |
| 182 | inv, root := clitest.New(t, "templates", "pull", "--tar", template.Name, "--version", version1.Name) |
| 183 | clitest.SetupConfig(t, templateAdmin, root) |
| 184 | |
| 185 | var buf bytes.Buffer |
| 186 | inv.Stdout = &buf |
| 187 | |
| 188 | err = inv.Run() |
| 189 | require.NoError(t, err) |
| 190 | |
| 191 | require.True(t, bytes.Equal(expected, buf.Bytes()), "tar files differ") |
| 192 | } |
| 193 | |
| 194 | // Stdout tests that 'templates pull' pulls down the latest template |
| 195 | // and writes it to stdout. |
nothing calls this directly
no test coverage detected