TestWebSocketTemplateExercise ensures all WebSocket templates are exercised
(t *testing.T)
| 117 | |
| 118 | // TestWebSocketTemplateExercise ensures all WebSocket templates are exercised |
| 119 | func TestWebSocketTemplateExercise(t *testing.T) { |
| 120 | // Run a comprehensive test that should exercise all templates |
| 121 | root := RunHTTPDSL(t, comprehensiveWebSocketDSL) |
| 122 | services := CreateHTTPServices(root) |
| 123 | |
| 124 | // Generate both server and client files |
| 125 | serverFiles := ServerFiles("", services) |
| 126 | clientFiles := ClientFiles("", services) |
| 127 | |
| 128 | // Verify WebSocket files were generated |
| 129 | var serverWSFile, clientWSFile *codegen.File |
| 130 | for _, f := range serverFiles { |
| 131 | if filepath.Base(f.Path) == "websocket.go" { |
| 132 | serverWSFile = f |
| 133 | break |
| 134 | } |
| 135 | } |
| 136 | for _, f := range clientFiles { |
| 137 | if filepath.Base(f.Path) == "websocket.go" { |
| 138 | clientWSFile = f |
| 139 | break |
| 140 | } |
| 141 | } |
| 142 | |
| 143 | require.NotNil(t, serverWSFile, "Server WebSocket file should be generated") |
| 144 | require.NotNil(t, clientWSFile, "Client WebSocket file should be generated") |
| 145 | |
| 146 | // Render the files to ensure all templates work |
| 147 | _, err := renderFileToString(serverWSFile) |
| 148 | require.NoError(t, err, "Server WebSocket file should render without error") |
| 149 | |
| 150 | _, err = renderFileToString(clientWSFile) |
| 151 | require.NoError(t, err, "Client WebSocket file should render without error") |
| 152 | } |
| 153 | |
| 154 | // DSL definitions for comprehensive WebSocket testing |
| 155 |
nothing calls this directly
no test coverage detected