88 "strings"
99 "testing"
1010 "time"
11+
12+ "github.com/stretchr/testify/assert"
13+ "github.com/stretchr/testify/require"
1114)
1215
1316func TestAdminServer (t * testing.T ) {
@@ -19,13 +22,9 @@ func TestAdminServer(t *testing.T) {
1922 DatabaseURL : databaseURL ,
2023 AppName : "test-app" ,
2124 })
22- if err != nil {
23- t .Skipf ("Failed to initialize DBOS: %v" , err )
24- }
25+ require .NoError (t , err )
2526 err = ctx .Launch ()
26- if err != nil {
27- t .Skipf ("Failed to initialize DBOS: %v" , err )
28- }
27+ require .NoError (t , err )
2928
3029 // Ensure cleanup
3130 defer func () {
@@ -40,19 +39,13 @@ func TestAdminServer(t *testing.T) {
4039 // Verify admin server is not running
4140 client := & http.Client {Timeout : 1 * time .Second }
4241 _ , err = client .Get ("http://localhost:3001" + healthCheckPath )
43- if err == nil {
44- t .Error ("Expected request to fail when admin server is not started, but it succeeded" )
45- }
42+ require .Error (t , err , "Expected request to fail when admin server is not started" )
4643
4744 // Verify the DBOS executor doesn't have an admin server instance
48- if ctx == nil {
49- t .Fatal ("Expected DBOS instance to be created" )
50- }
45+ require .NotNil (t , ctx , "Expected DBOS instance to be created" )
5146
5247 exec := ctx .(* dbosContext )
53- if exec .adminServer != nil {
54- t .Error ("Expected admin server to be nil when not configured" )
55- }
48+ require .Nil (t , exec .adminServer , "Expected admin server to be nil when not configured" )
5649 })
5750
5851 t .Run ("Admin server endpoints" , func (t * testing.T ) {
@@ -62,13 +55,9 @@ func TestAdminServer(t *testing.T) {
6255 AppName : "test-app" ,
6356 AdminServer : true ,
6457 })
65- if err != nil {
66- t .Skipf ("Failed to initialize DBOS with admin server: %v" , err )
67- }
58+ require .NoError (t , err )
6859 err = ctx .Launch ()
69- if err != nil {
70- t .Skipf ("Failed to initialize DBOS with admin server: %v" , err )
71- }
60+ require .NoError (t , err )
7261
7362 // Ensure cleanup
7463 defer func () {
@@ -81,14 +70,10 @@ func TestAdminServer(t *testing.T) {
8170 time .Sleep (100 * time .Millisecond )
8271
8372 // Verify the DBOS executor has an admin server instance
84- if ctx == nil {
85- t .Fatal ("Expected DBOS instance to be created" )
86- }
73+ require .NotNil (t , ctx , "Expected DBOS instance to be created" )
8774
8875 exec := ctx .(* dbosContext )
89- if exec .adminServer == nil {
90- t .Fatal ("Expected admin server to be created in DBOS instance" )
91- }
76+ require .NotNil (t , exec .adminServer , "Expected admin server to be created in DBOS instance" )
9277
9378 client := & http.Client {Timeout : 5 * time .Second }
9479
@@ -116,12 +101,9 @@ func TestAdminServer(t *testing.T) {
116101 expectedStatus : http .StatusOK ,
117102 validateResp : func (t * testing.T , resp * http.Response ) {
118103 var workflowIDs []string
119- if err := json .NewDecoder (resp .Body ).Decode (& workflowIDs ); err != nil {
120- t .Errorf ("Failed to decode response as JSON array: %v" , err )
121- }
122- if workflowIDs == nil {
123- t .Error ("Expected non-nil workflow IDs array" )
124- }
104+ err := json .NewDecoder (resp .Body ).Decode (& workflowIDs )
105+ require .NoError (t , err , "Failed to decode response as JSON array" )
106+ assert .NotNil (t , workflowIDs , "Expected non-nil workflow IDs array" )
125107 },
126108 },
127109 {
@@ -145,36 +127,23 @@ func TestAdminServer(t *testing.T) {
145127 expectedStatus : http .StatusOK ,
146128 validateResp : func (t * testing.T , resp * http.Response ) {
147129 var queueMetadata []WorkflowQueue
148- if err := json .NewDecoder (resp .Body ).Decode (& queueMetadata ); err != nil {
149- t .Errorf ("Failed to decode response as QueueMetadata array: %v" , err )
150- }
151- if queueMetadata == nil {
152- t .Error ("Expected non-nil queue metadata array" )
153- }
130+ err := json .NewDecoder (resp .Body ).Decode (& queueMetadata )
131+ require .NoError (t , err , "Failed to decode response as QueueMetadata array" )
132+ assert .NotNil (t , queueMetadata , "Expected non-nil queue metadata array" )
154133 // Should contain at least the internal queue
155- if len (queueMetadata ) == 0 {
156- t .Error ("Expected at least one queue in metadata" )
157- }
134+ assert .Greater (t , len (queueMetadata ), 0 , "Expected at least one queue in metadata" )
158135 // Verify internal queue fields
159136 foundInternalQueue := false
160137 for _ , queue := range queueMetadata {
161138 if queue .Name == _DBOS_INTERNAL_QUEUE_NAME { // Internal queue name
162139 foundInternalQueue = true
163- if queue .GlobalConcurrency != nil {
164- t .Errorf ("Expected internal queue to have no concurrency limit, but got %v" , * queue .GlobalConcurrency )
165- }
166- if queue .WorkerConcurrency != nil {
167- t .Errorf ("Expected internal queue to have no worker concurrency limit, but got %v" , * queue .WorkerConcurrency )
168- }
169- if queue .RateLimit != nil {
170- t .Error ("Expected internal queue to have no rate limit" )
171- }
140+ assert .Nil (t , queue .GlobalConcurrency , "Expected internal queue to have no concurrency limit" )
141+ assert .Nil (t , queue .WorkerConcurrency , "Expected internal queue to have no worker concurrency limit" )
142+ assert .Nil (t , queue .RateLimit , "Expected internal queue to have no rate limit" )
172143 break
173144 }
174145 }
175- if ! foundInternalQueue {
176- t .Error ("Expected to find internal queue in metadata" )
177- }
146+ assert .True (t , foundInternalQueue , "Expected to find internal queue in metadata" )
178147 },
179148 },
180149 {
@@ -195,24 +164,17 @@ func TestAdminServer(t *testing.T) {
195164 } else {
196165 req , err = http .NewRequest (tt .method , tt .endpoint , nil )
197166 }
198- if err != nil {
199- t .Fatalf ("Failed to create request: %v" , err )
200- }
167+ require .NoError (t , err , "Failed to create request" )
201168
202169 if tt .contentType != "" {
203170 req .Header .Set ("Content-Type" , tt .contentType )
204171 }
205172
206173 resp , err := client .Do (req )
207- if err != nil {
208- t .Fatalf ("Failed to make request: %v" , err )
209- }
174+ require .NoError (t , err , "Failed to make request" )
210175 defer resp .Body .Close ()
211176
212- if resp .StatusCode != tt .expectedStatus {
213- body , _ := io .ReadAll (resp .Body )
214- t .Errorf ("Expected status code %d, got %d. Response: %s" , tt .expectedStatus , resp .StatusCode , string (body ))
215- }
177+ assert .Equal (t , tt .expectedStatus , resp .StatusCode )
216178
217179 if tt .validateResp != nil {
218180 tt .validateResp (t , resp )
0 commit comments