MCPcopy Index your code
hub / github.com/coder/coder / TestPreviousTemplateVersion

Function TestPreviousTemplateVersion

coderd/templateversions_test.go:1971–2023  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1969}
1970
1971func TestPreviousTemplateVersion(t *testing.T) {
1972 t.Parallel()
1973 t.Run("Previous version not found", func(t *testing.T) {
1974 t.Parallel()
1975 client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
1976 user := coderdtest.CreateFirstUser(t, client)
1977
1978 // Create two templates to be sure it is not returning a previous version
1979 // from another template
1980 templateAVersion1 := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, nil)
1981 coderdtest.CreateTemplate(t, client, user.OrganizationID, templateAVersion1.ID)
1982 coderdtest.AwaitTemplateVersionJobCompleted(t, client, templateAVersion1.ID)
1983 // Create two versions for template B so we can verify that requesting
1984 // the previous version of the first version returns nil.
1985 templateBVersion1 := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, nil)
1986 templateB := coderdtest.CreateTemplate(t, client, user.OrganizationID, templateBVersion1.ID)
1987 coderdtest.AwaitTemplateVersionJobCompleted(t, client, templateBVersion1.ID)
1988 templateBVersion2 := coderdtest.UpdateTemplateVersion(t, client, user.OrganizationID, nil, templateB.ID)
1989 coderdtest.AwaitTemplateVersionJobCompleted(t, client, templateBVersion2.ID)
1990
1991 ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
1992 defer cancel()
1993
1994 _, err := client.PreviousTemplateVersion(ctx, user.OrganizationID, templateB.Name, templateBVersion1.Name)
1995 require.ErrorIs(t, err, codersdk.ErrNoPreviousVersion)
1996 })
1997
1998 t.Run("Previous version found", func(t *testing.T) {
1999 t.Parallel()
2000 client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
2001 user := coderdtest.CreateFirstUser(t, client)
2002
2003 // Create two templates to be sure it is not returning a previous version
2004 // from another template
2005 templateAVersion1 := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, nil)
2006 coderdtest.CreateTemplate(t, client, user.OrganizationID, templateAVersion1.ID)
2007 coderdtest.AwaitTemplateVersionJobCompleted(t, client, templateAVersion1.ID)
2008 // Create two versions for the template B so we can try to get the previous
2009 // version of version 2
2010 templateBVersion1 := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, nil)
2011 templateB := coderdtest.CreateTemplate(t, client, user.OrganizationID, templateBVersion1.ID)
2012 coderdtest.AwaitTemplateVersionJobCompleted(t, client, templateBVersion1.ID)
2013 templateBVersion2 := coderdtest.UpdateTemplateVersion(t, client, user.OrganizationID, nil, templateB.ID)
2014 coderdtest.AwaitTemplateVersionJobCompleted(t, client, templateBVersion2.ID)
2015
2016 ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
2017 defer cancel()
2018
2019 result, err := client.PreviousTemplateVersion(ctx, user.OrganizationID, templateB.Name, templateBVersion2.Name)
2020 require.NoError(t, err)
2021 require.Equal(t, templateBVersion1.ID, result.ID)
2022 })
2023}
2024
2025func TestStarterTemplates(t *testing.T) {
2026 t.Parallel()

Callers

nothing calls this directly

Calls 9

NewFunction · 0.92
CreateFirstUserFunction · 0.92
CreateTemplateVersionFunction · 0.92
CreateTemplateFunction · 0.92
UpdateTemplateVersionFunction · 0.92
RunMethod · 0.65
EqualMethod · 0.45

Tested by

no test coverage detected