1
1
package telemetry_test
2
2
3
3
import (
4
+ "database/sql"
4
5
"encoding/json"
5
6
"net/http"
6
7
"net/http/httptest"
@@ -48,6 +49,10 @@ func TestTelemetry(t *testing.T) {
48
49
_ = dbgen .Template (t ,db , database.Template {
49
50
Provisioner :database .ProvisionerTypeTerraform ,
50
51
})
52
+ sourceExampleID := uuid .NewString ()
53
+ _ = dbgen .TemplateVersion (t ,db , database.TemplateVersion {
54
+ SourceExampleID : sql.NullString {String :sourceExampleID ,Valid :true },
55
+ })
51
56
_ = dbgen .TemplateVersion (t ,db , database.TemplateVersion {})
52
57
user := dbgen .User (t ,db , database.User {})
53
58
_ = dbgen .Workspace (t ,db , database.WorkspaceTable {})
@@ -93,7 +98,7 @@ func TestTelemetry(t *testing.T) {
93
98
require .Len (t ,snapshot .ProvisionerJobs ,1 )
94
99
require .Len (t ,snapshot .Licenses ,1 )
95
100
require .Len (t ,snapshot .Templates ,1 )
96
- require .Len (t ,snapshot .TemplateVersions ,1 )
101
+ require .Len (t ,snapshot .TemplateVersions ,2 )
97
102
require .Len (t ,snapshot .Users ,1 )
98
103
require .Len (t ,snapshot .Groups ,2 )
99
104
// 1 member in the everyone group + 1 member in the custom group
@@ -111,6 +116,17 @@ func TestTelemetry(t *testing.T) {
111
116
require .Len (t ,wsa .Subsystems ,2 )
112
117
require .Equal (t ,string (database .WorkspaceAgentSubsystemEnvbox ),wsa .Subsystems [0 ])
113
118
require .Equal (t ,string (database .WorkspaceAgentSubsystemExectrace ),wsa .Subsystems [1 ])
119
+
120
+ tvs := snapshot .TemplateVersions
121
+ sort .Slice (tvs ,func (i ,j int )bool {
122
+ // Sort by SourceExampleID presence (non-nil comes before nil)
123
+ if (tvs [i ].SourceExampleID != nil )!= (tvs [j ].SourceExampleID != nil ) {
124
+ return tvs [i ].SourceExampleID != nil
125
+ }
126
+ return false
127
+ })
128
+ require .Equal (t ,tvs [0 ].SourceExampleID ,& sourceExampleID )
129
+ require .Nil (t ,tvs [1 ].SourceExampleID )
114
130
})
115
131
t .Run ("HashedEmail" ,func (t * testing.T ) {
116
132
t .Parallel ()