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

Function TestPaginatedTemplateVersions

coderd/templateversions_test.go:1826–1936  ·  view source on GitHub ↗

TestPaginatedTemplateVersions creates a list of template versions and paginate.

(t *testing.T)

Source from the content-addressed store, hash-verified

1824
1825// TestPaginatedTemplateVersions creates a list of template versions and paginate.
1826func TestPaginatedTemplateVersions(t *testing.T) {
1827 t.Parallel()
1828
1829 client := coderdtest.New(t, nil)
1830 user := coderdtest.CreateFirstUser(t, client)
1831 version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, nil)
1832 template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
1833
1834 ctx, cancel := context.WithCancel(context.Background())
1835 t.Cleanup(cancel)
1836 // Populate database with template versions.
1837 total := 9
1838 eg, egCtx := errgroup.WithContext(ctx)
1839 templateVersionIDs := make([]uuid.UUID, total)
1840 data, err := echo.Tar(nil)
1841 require.NoError(t, err)
1842 file, err := client.Upload(egCtx, codersdk.ContentTypeTar, bytes.NewReader(data))
1843 require.NoError(t, err)
1844 for i := 0; i < total; i++ {
1845 eg.Go(func() error {
1846 templateVersion, err := client.CreateTemplateVersion(egCtx, user.OrganizationID, codersdk.CreateTemplateVersionRequest{
1847 Name: uuid.NewString(),
1848 TemplateID: template.ID,
1849 FileID: file.ID,
1850 StorageMethod: codersdk.ProvisionerStorageMethodFile,
1851 Provisioner: codersdk.ProvisionerTypeEcho,
1852 })
1853 if err != nil {
1854 return err
1855 }
1856 templateVersionIDs[i] = templateVersion.ID
1857 return nil
1858 })
1859 }
1860 err = eg.Wait()
1861 require.NoError(t, err, "create templates failed")
1862
1863 templateVersions, err := client.TemplateVersionsByTemplate(ctx,
1864 codersdk.TemplateVersionsByTemplateRequest{
1865 TemplateID: template.ID,
1866 },
1867 )
1868 require.NoError(t, err)
1869 require.Len(t, templateVersions, 10, "wrong number of template versions created")
1870
1871 type args struct {
1872 pagination codersdk.Pagination
1873 }
1874 tests := []struct {
1875 name string
1876 args args
1877 want []codersdk.TemplateVersion
1878 expectedError string
1879 }{
1880 {
1881 name: "Single result",
1882 args: args{pagination: codersdk.Pagination{Limit: 1}},
1883 want: templateVersions[:1],

Callers

nothing calls this directly

Calls 15

NewFunction · 0.92
CreateFirstUserFunction · 0.92
CreateTemplateVersionFunction · 0.92
CreateTemplateFunction · 0.92
TarFunction · 0.92
WithContextMethod · 0.80
GoMethod · 0.80
CleanupMethod · 0.65
UploadMethod · 0.65
CreateTemplateVersionMethod · 0.65
WaitMethod · 0.65

Tested by

no test coverage detected