|
6 | 6 | [cmr.bootstrap.system :as bootstrap-system] |
7 | 7 | [cmr.common.jobs :as jobs] |
8 | 8 | [cmr.common.lifecycle :as lifecycle] |
9 | | - [cmr.common.log :refer [debug info warn error]] |
| 9 | + [cmr.common.log :refer [info warn error]] |
10 | 10 | [cmr.common.system :as common-sys] |
11 | 11 | [cmr.common.util :as u] |
12 | 12 | [cmr.dev-system.config :as dev-config] |
|
21 | 21 | [cmr.message-queue.config :as rmq-conf] |
22 | 22 | [cmr.message-queue.queue.memory-queue :as mem-queue] |
23 | 23 | [cmr.message-queue.queue.sqs :as sqs] |
| 24 | + [cmr.message-queue.queue-server.embedded-sqs-server :as sqs-server] |
24 | 25 | [cmr.message-queue.test.queue-broker-wrapper :as wrapper] |
25 | 26 | [cmr.metadata-db.data.memory-db :as memory] |
26 | 27 | [cmr.metadata-db.system :as mdb-system] |
|
46 | 47 | peek)] |
47 | 48 | (info "Using system token" token) |
48 | 49 | token) |
49 | | - (catch Exception e |
| 50 | + (catch Exception _e |
50 | 51 | (warn "Unable to extract the ECHO system read token from configuration.") |
51 | 52 | transmit-config/mock-echo-system-token))) |
52 | 53 |
|
|
134 | 135 | [_] |
135 | 136 | nil) |
136 | 137 |
|
| 138 | +(defn create-sqs-server |
| 139 | + "Sets sqs server configuration values and returns an instance of a sqs-server component to run |
| 140 | + in memory if applicable." |
| 141 | + [type] |
| 142 | + (case type |
| 143 | + :in-memory (sqs-server/create-sqs-server) |
| 144 | + nil)) |
| 145 | + |
137 | 146 | (defmulti create-db |
138 | 147 | "Returns an instance of the database component to use." |
139 | 148 | (fn [type] |
140 | 149 | type)) |
141 | 150 |
|
142 | 151 | (defmethod create-db :in-memory |
143 | | - [type] |
| 152 | + [_type] |
144 | 153 | (memory/create-db)) |
145 | 154 |
|
146 | 155 | (defmethod create-db :external |
147 | | - [type] |
| 156 | + [_type] |
148 | 157 | nil) |
149 | 158 |
|
150 | 159 | (defmulti create-echo |
|
153 | 162 | (fn [type] |
154 | 163 | type)) |
155 | 164 |
|
| 165 | +#_{:clj-kondo/ignore [:unresolved-var]} |
156 | 166 | (defmethod create-echo :in-memory |
157 | | - [type] |
| 167 | + [_type] |
158 | 168 | (transmit-config/set-urs-relative-root-url! "/urs") |
159 | 169 | (mock-echo-system/create-system)) |
160 | 170 |
|
| 171 | +#_{:clj-kondo/ignore [:unresolved-var]} |
161 | 172 | (defmethod create-echo :external |
162 | | - [type] |
| 173 | + [_type] |
163 | 174 | (transmit-config/set-echo-rest-port! (dev-config/external-echo-port)) |
164 | 175 | (transmit-config/set-echo-system-token! (external-echo-system-token)) |
165 | 176 | (transmit-config/set-echo-rest-context! "/echo-rest")) |
|
171 | 182 | type)) |
172 | 183 |
|
173 | 184 | (defmethod create-queue-broker :in-memory |
174 | | - [type] |
| 185 | + [_type] |
175 | 186 | (-> (indexer-config/queue-config) |
176 | 187 | (rmq-conf/merge-configs (vp-config/queue-config)) |
177 | 188 | (rmq-conf/merge-configs (access-control-config/queue-config)) |
|
191 | 202 | (assoc :ttls ttls))) |
192 | 203 |
|
193 | 204 | (defmethod create-queue-broker :aws |
194 | | - [type] |
| 205 | + [_type] |
195 | 206 | (-> (external-queue-config []) |
196 | 207 | sqs/create-queue-broker)) |
197 | 208 |
|
|
230 | 241 |
|
231 | 242 | (defmulti create-ingest-app |
232 | 243 | "Create an instance of the ingest application." |
233 | | - (fn [db-type queue-broker] |
| 244 | + (fn [db-type _queue-broker] |
234 | 245 | db-type)) |
235 | 246 |
|
236 | 247 | (defmethod create-ingest-app :in-memory |
237 | | - [db-type queue-broker] |
| 248 | + [_db-type queue-broker] |
238 | 249 | (assoc (ingest-system/create-system) |
239 | 250 | :db (ingest-data/create-db) |
240 | 251 | :queue-broker queue-broker |
241 | 252 | :scheduler (jobs/create-non-running-scheduler))) |
242 | 253 |
|
243 | 254 | (defmethod create-ingest-app :external |
244 | | - [db-type queue-broker] |
| 255 | + [_db-type queue-broker] |
245 | 256 | (assoc (ingest-system/create-system) |
246 | 257 | :queue-broker queue-broker)) |
247 | 258 |
|
|
264 | 275 | :echo (dev-config/dev-system-echo-type) |
265 | 276 | :db (dev-config/dev-system-db-type) |
266 | 277 | :message-queue (dev-config/dev-system-queue-type) |
267 | | - :redis (dev-config/dev-system-redis-type)}) |
| 278 | + :redis (dev-config/dev-system-redis-type) |
| 279 | + :sqs-server (dev-config/dev-system-sqs-server-type)}) |
268 | 280 |
|
269 | 281 | (defn create-system |
270 | 282 | "Returns a new instance of the whole application." |
271 | 283 | [] |
272 | | - (let [{:keys [elastic echo db message-queue redis]} (component-type-map) |
| 284 | + (let [{:keys [elastic echo db message-queue redis sqs-server]} (component-type-map) |
273 | 285 | db-component (create-db db) |
274 | 286 | echo-component (create-echo echo) |
275 | 287 | queue-broker (create-queue-broker message-queue) |
276 | 288 | elastic-server (create-elastic elastic) |
277 | 289 | redis-server (create-redis redis) |
| 290 | + sqs-server (create-sqs-server sqs-server) |
278 | 291 | control-server (control/create-server)] |
279 | 292 | {:instance-name (common-sys/instance-name "dev-system") |
280 | 293 | :apps (u/remove-nil-keys |
|
289 | 302 | :pre-components (u/remove-nil-keys |
290 | 303 | {:elastic-server elastic-server |
291 | 304 | :broker-wrapper queue-broker |
292 | | - :redis-server redis-server}) |
| 305 | + :redis-server redis-server |
| 306 | + :sqs-server sqs-server}) |
293 | 307 | :post-components {:control-server control-server}})) |
294 | 308 |
|
295 | 309 | (defn- stop-components |
|
0 commit comments