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 ()
0 commit comments