All notable changes to this project will be documented in this file. This change log follows the conventions of keepachangelog.com.
AWS SQS Consumer component (Integrant) that was trying to create a queue on AWS (prod) while executing
tests. Also reduce the that sleep between each message consumption cycle for test env.com.datomic/datomic-free and com.datomic/local by com.datomic/peer.DatomicLocal Component in favor of main Datomic component.com.datomic/peer dependency to the project.common-clj.test.helper.schema/generate.New Relic component. The component wasn't sending the logs payload properly.common-clj.test.helper.schema/generate) to help with fixture definition on tests.Containers component. Now you can use it to start and stop docker containers in your integration tests.LocalDateWire schema extension.TelegramConsumer component.TelegramProducer component.TelegramConsumer in order to define command interceptors in a way that allows a more reusable and
extendable code.RateLimiter component, and now you can use it with interceptors in oder to apply rate limit on service
endpoints.Prometheus component to TelegramConsumer possible dependencies.Prometheus component in order to expose metrics to agentless monitoring for Prometheus in Grafana Cloud.DatomicLocal component while running integration tests, the database was not being cleaned after
each test execution.#p. This should be used only on debugging process.common-clj.keyword.core/un-namespaced function in oder to be able to convert namespaced keywords.common-clj.schema.core/un-namespaced function in oder to be able to convert namespaced schemas.common-clj.time.core/date->local-date function in oder to be able to convert Date to LocalDateTelegramConsumer to stop sending Telegram Bot messages for not found commands if the message received was not
a command.TelegramConsumer component.TelegramWebhookConsumer component, now you should use TelegramConsumer.TelegramConsumer in order to be able to scale new features more easily.DatomicLocal component.:jobs component placeholder for telegram component. Now you can depend on the jobs component from telegram.common-clj.time.core in order to deal with LocalDateTime.get-connection function for PostgreSQL component.database-uri config is properly provided.org.apache.kafka/kafka-clients dependency version from 2.8.0 to 3.4.0.nubank/state-flow dependency version from 5.14.3 to 5.14.4.telegrambot-lib dependency version from 1.4.0 to 2.5.0.prismatic/schema-generators dependency version from 0.1.4 to 0.1.5.datalevin dependency version from 0.6.22 to 0.8.16.component.telegram.consumer/consume-update-via-webhook function, so you can easily mock Telegram Bot command
messages update consumption via webhook http endpoint.fn component.telegram.consumer/telegram-bot-webhook-endpoint-handler-fn.TelegramWebhookConsumer to have one more way of integrating with telegram bot api.chat-id from the update.TelegramConsumer was breaking while consuming updates for edited messages. Now it's fixed.(morse-api/send-text token chat-id message-text) to send
telegram messages.TelegramConsumer is more resilient to errors wire consuming updates from Telegram API. Before that the Thread
was dying when facing a error, but now the Thread is treating and logging the error.MockTelegramConsumer component along with some helpers functions so you can easily write integration tests for
telegram bots.:http-client component, so we can have more flexibility on integration tests assertions. Like having the
possibility of assert that an HTTP request was made to a service/URI.common-clj.component.kafka.consumer/consumed-messages).http component responsible for service authentication, so we can expect authenticated http requests between
microservices.common-clj.io.interceptors.auth/recaptcha-validation-interceptor to the list of interceptors while handling
requests for http endpoints and add the :recaptcha-secret-token to the config file. Tested
with reCAPTCHA v3.::http/allowed-origins from the system map
as (constantly true) like "*".X-Correlation-Id header for tracking http requests made between microservices. To use it
wrap the http-handler function with common-clj.traceability/with-correlation-id.:dead-letter-queue-service-integration-enabled (true|false) config option to toggle the integration
with a DLQ service (aka Wraith-King).MockKafkaConsumer component throws an exception if not set up correctly. Make debug process easier while testing.common-clj.time.parser.core/date->wire function to convert Date object to ISO-8601 string.common-clj.time.parser.core/wire->date function to convert ISO-8601 string into Date object.common-clj.test.helper.time/valid-iso-8601? function to validate iso-8601 strings.detail expected param type for common-clj.error.core/http-friendly-exception function.common-clj.money.converter/->cents function expected output type from BigInteger to BigInt.common-clj.io.interceptors.datomic/resource-existence-check-interceptor Datomic interceptor.common-clj.kafka.consumer/kafka-record->clj-message to support more flexible Kafka message content in the
future.common-clj.auth.core/->token function that we can use to convert Clojure maps containing authentication
related information to a JWToken.common-clj.test.helper/uuid function was moved to another place due to better code organization, instead use the
one from common-clj.test.helper.core/uuid.schema-body-in-interceptor that make so much simpler to set up schema validation for the json
body content entering the service endpoint.http-friendly-exception to easily throw exceptions that are compatible with the global error
catcher exception, returning a http response that follows best practices for REST API error handling.ProducerRecord the same way as in production
environment.now-datetime that enables us to mock the usage of the java.util.Date class. Make
integration tests easier to write.stop-and-reset-pool! instead of shutdown-pool-gracefully! (this is a private function).consumer component.producer component to service component, so you can access producer component inside endpoint controllers.:current-env from the config component, case other components need this information.datomic entity instead of a more generic database.mocked-datomic function so you can do unit test for datomic queries and insertions.uuid test helper function to generate random Uuids to be use for mocked values in tests.routes and service components.local-date->str function was not returning the date in the chosen string format.Added support to multiples environments on config component.
Added a datomic component that we can use to transact on datomic databases. Compatible with Component framework by Stuart Sierra.
Added get-component-content a component helper function used to get component core content. To be able to use this
function you must follow some conventions, like assoc in the component map with the core content using the same
component name as key. Compatible with Component framework by Stuart Sierra.
Added str->keyword-kebab-case that we can use to convert json encoded camelCased keys to clojure kebab case.
Added a config component that we can use to load settings on our system map. Compatible with Component framework by Stuart Sierra.
->cents function were you can use to convert money amounts to cents.Added str->local-date function were you can use to convert String to LocalDate.
Added local-date->str function were you can use to convert LocalDate to String.
loose-schema function to a schema with inner schemas, also make theirs inner schemas loose.loose-schema function.Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |