mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
feat: Add diff and Dockerfile support for template version page (#5339)
This commit is contained in:
@@ -970,13 +970,24 @@ func TestPreviousTemplateVersion(t *testing.T) {
|
||||
t.Parallel()
|
||||
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
|
||||
user := coderdtest.CreateFirstUser(t, client)
|
||||
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, nil)
|
||||
coderdtest.AwaitTemplateVersionJob(t, client, version.ID)
|
||||
|
||||
// Create two templates to be sure it is not returning a previous version
|
||||
// from another template
|
||||
templateAVersion1 := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, nil)
|
||||
coderdtest.CreateTemplate(t, client, user.OrganizationID, templateAVersion1.ID)
|
||||
coderdtest.AwaitTemplateVersionJob(t, client, templateAVersion1.ID)
|
||||
// Create two versions for the template B to be sure if we try to get the
|
||||
// previous version of the first version it will returns a 404
|
||||
templateBVersion1 := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, nil)
|
||||
templateB := coderdtest.CreateTemplate(t, client, user.OrganizationID, templateBVersion1.ID)
|
||||
coderdtest.AwaitTemplateVersionJob(t, client, templateBVersion1.ID)
|
||||
templateBVersion2 := coderdtest.UpdateTemplateVersion(t, client, user.OrganizationID, nil, templateB.ID)
|
||||
coderdtest.AwaitTemplateVersionJob(t, client, templateBVersion2.ID)
|
||||
|
||||
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
|
||||
defer cancel()
|
||||
|
||||
_, err := client.PreviousTemplateVersion(ctx, user.OrganizationID, version.Name)
|
||||
_, err := client.PreviousTemplateVersion(ctx, user.OrganizationID, templateBVersion1.Name)
|
||||
var apiErr *codersdk.Error
|
||||
require.ErrorAs(t, err, &apiErr)
|
||||
require.Equal(t, http.StatusNotFound, apiErr.StatusCode())
|
||||
@@ -986,17 +997,25 @@ func TestPreviousTemplateVersion(t *testing.T) {
|
||||
t.Parallel()
|
||||
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
|
||||
user := coderdtest.CreateFirstUser(t, client)
|
||||
previousVersion := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, nil)
|
||||
coderdtest.AwaitTemplateVersionJob(t, client, previousVersion.ID)
|
||||
template := coderdtest.CreateTemplate(t, client, user.OrganizationID, previousVersion.ID)
|
||||
latestVersion := coderdtest.UpdateTemplateVersion(t, client, user.OrganizationID, nil, template.ID)
|
||||
coderdtest.AwaitTemplateVersionJob(t, client, latestVersion.ID)
|
||||
|
||||
// Create two templates to be sure it is not returning a previous version
|
||||
// from another template
|
||||
templateAVersion1 := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, nil)
|
||||
coderdtest.CreateTemplate(t, client, user.OrganizationID, templateAVersion1.ID)
|
||||
coderdtest.AwaitTemplateVersionJob(t, client, templateAVersion1.ID)
|
||||
// Create two versions for the template B so we can try to get the previous
|
||||
// version of version 2
|
||||
templateBVersion1 := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, nil)
|
||||
templateB := coderdtest.CreateTemplate(t, client, user.OrganizationID, templateBVersion1.ID)
|
||||
coderdtest.AwaitTemplateVersionJob(t, client, templateBVersion1.ID)
|
||||
templateBVersion2 := coderdtest.UpdateTemplateVersion(t, client, user.OrganizationID, nil, templateB.ID)
|
||||
coderdtest.AwaitTemplateVersionJob(t, client, templateBVersion2.ID)
|
||||
|
||||
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
|
||||
defer cancel()
|
||||
|
||||
result, err := client.PreviousTemplateVersion(ctx, user.OrganizationID, latestVersion.Name)
|
||||
result, err := client.PreviousTemplateVersion(ctx, user.OrganizationID, templateBVersion2.Name)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, previousVersion.ID, result.ID)
|
||||
require.Equal(t, templateBVersion1.ID, result.ID)
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user