clojure-uk 2026-06-30

Morning! At the doctor, getting a followup to my emergency visit (Saturday). We're having European heat levels here this week - and it's only going down to mid-20s C at night.

Got a referral for a cardiac stress test but he thinks it's mostly nothing to worry about given the results of all the tests...

That's reassuring to hear.

The weather here in the north-east of England has cooled considerably, it's a very comfortable 21C in my office but feels cooler with the draught coming in the window.

👍🏻 1

Today I've been wrestling with the best way to write integration tests for an API (AWS API Gateway) that uses SigV4. I couldn't see how to make the Cognitect AWS API (actually the Awyeah fork for Babashka) make requests to Cognito IdP without credentials, so I ended up doing that with just a basic HTTP client. Then I couldn't find a nice way to use an API client to sign the requests, so I had to mostly DIY that too, using com.grzm.awyeah.signers. If there's a better way, please let me know!

The regular cognitect AWS API lib is now compatible with bb

the newest version

@borkdude thanks, that's good to know. I will look into switching my deps.

@borkdude I switched to the Cognitect version and confirm that main library works, but I ran into a problem with the cognitect.aws.client.test-double namespace:

> bb repl
Babashka v1.12.218
Type :repl/help for help
user=> (require '[babashka.deps :as deps])
nil
user=> (deps/add-deps {:deps '{com.cognitect.aws/api {:mvn/version "0.8.824"}}})
nil
user=> (require '[cognitect.aws.client.test-double :as aws])
clojure.lang.ExceptionInfo: Babashka's deftype supports full map types (add IPersistentMap to the interface list). Alternatively, use reify for individual interfaces like ILookup. [at <repl>:1:1]

Let me know if I should report this somewhere else. It's not a show-stopper as I can continue with awyeah for these unit tests for now.

what is test-double for? does awyeah-api have it? yes report it in #aws-api

👍 1

and ping the maintainers there

test-double provides an implementation of the client for mocking.

and awyeah has this?