korm
testcontainers-go
korm | testcontainers-go | |
---|---|---|
14 | 18 | |
131 | 3,169 | |
- | 6.4% | |
8.3 | 9.7 | |
6 days ago | 6 days ago | |
Go | Go | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
korm
-
Databases and Go
I believe what you looking for is Korm. I'm thinking of using it in my next project. https://github.com/kamalshkeir/korm/
- Yet another Go ORM, its maybe the one you are searshing for
- Korm, an elegant and lightning-fast Go ORM for all your concurrent and async needs. Inspired by the highly popular Django Framework, Korm offers similar functionality with the added bonus of performance
- Coming from Python background, i am very happy to share with you, Korm, an elegant and lightning-fast ORM for all your concurrent and async needs. Inspired by the highly popular Django Framework, Korm offers similar functionality with the added bonus of performance
-
How to Work with SQL Databases in Go
Hi, you can check https://github.com/kamalshkeir/korm , this is my personal ORM , lot of people start using it and like it very much specialy those coming from django like environment, i would love to have your feedbacks
- GitHub - kamalshkeir/korm: KORM is an Elegant and Blazingly Fast ORM using generics and network bus. It can handle sql databases and Mongo using Kormongo, both have pretty much the same api, everything detailed in this readme
- Korm updated !, i have added hooks an admin dashboard using korm.WithDashboard() and hooks OnInsert, OnSet,OnDelete and OnDrop https://github.com/kamalshkeir/korm
- Korm has been updated, now it can handle m2m relationships, and I added some tests and benchmarks to the pkg https://github.com/kamalshkeir/korm
-
ORMs
check https://github.com/kamalshkeir/korm
- https://github.com/kamalshkeir/korm
testcontainers-go
-
Using test helpers in Go
Let's first look at the original version of the test, in this case, an end-to-end, using testcontainers.
-
Run and test DynamoDB applications locally using Docker and Testcontainers
It supports multiple languages (including Go!) and databases (also messaging infrastructure etc.) - All you need is Docker. Testcontainers for Go makes it simple to programmatically create and clean up container-based dependencies for automated integration/smoke tests. You can define test dependencies as code, run tests and delete the containers once done.
-
๐ Effortless Integration Tests with Testcontainers in Golang ๐งช
Testcontainers Go Documentation
-
go-ecommerce-microservices: A practical e-commerce microservices, built with cqrs, event sourcing, vertical slice architecture, event-driven architecture.
Some of the features: - โ Using Vertical Slice Architecture as a high level architecture - โ Using Event Driven Architecture on top of RabbitMQ Message Broker with a custom [Event Bus](pkg/messaging/bus/) - โ Using Event Sourcing in Audit Based services like [Orders Service](services/orders/) - โ Using CQRS Pattern and Mediator Patternon top of Go-MediatR library - โ Using Dependency Injection and Inversion of Controlon top of uber-go/fx library - โ Using RESTFul api with Echo framework and using swagger with swaggo/swag library - โ Using Postgres and EventStoreDB to write databases with fully supports transactions(ACID) - โ Using MongoDB and Elastic Search for read databases (NOSQL) - โ Using OpenTelemetry for collection Distributed Tracing with using Jaeger and Zipkin - โ Using OpenTelemetry for collection Metrics with using Prometheus and Grafana - โ Using Unit Test for testing small units with mocking dependent classes and using Mockery for mocking dependencies - โ Using End2End Test and Integration Test for testing features with all of their real dependeinces using docker containers (cleanup tests) and testcontainers-go library
- How to start a Go project in 2023
-
Questions about Interfacing for Unit-Tests
For example, you could take a look at this open-source project that helps you spawn docker containers as part of your test setup enabling you to execute queries to a local database.
-
How to Work with SQL Databases in Go
Using something like TestContainers to spin up a DB for testing has been my best experience. Any mocks leave too much room for error imo
-
Different SQL drivers for test and production
I highly recommend testcontainers for this.
-
Go API Project Set-Up
The next block in .gitlab-ci.yml is the services block. Since our tests use testcontainers package and we're pushing a docker container onto Dockerhub, we will need to specify a services block next. Services will enable our pipeline to leverage Docker-in-Docker DinD.
- Do you test your API, repositories, & services together (e.g., e2e) or separately?
What are some alternatives?
sparrowci_web - ci.sparrowhub.io website
dockertest - Write better integration tests! Dockertest helps you boot up ephermal docker images for your Go tests with minimal work.
sq - sq is a type-safe data mapper and query builder for Go.
otj-pg-embedded - Java embedded PostgreSQL component for testing
py-template - One-click GitHub Actions pipelines for Python!
venom - ๐ Manage and run your integration tests with efficiency - Venom run executors (script, HTTP Request, web, imap, etc... ) and assertions
SparrowCI - SparrowCI - super fun and flexible CI system with many programming languages support
testcontainers-dotnet - A library to support tests with throwaway instances of Docker containers for all compatible .NET Standard versions.
ksbus - KSBus is a zero-configuration event bus written in Go, designed to facilitate real-time data sharing and synchronization between Go servers, JavaScript clients, and Python. It's particularly useful for building applications that require real-time communication, such as chat applications or live updates.
localstripe - A fake but stateful Stripe server that you can run locally, for testing purposes.
personal-server - Personal server configuration with k3s
integresql - IntegreSQL manages isolated PostgreSQL databases for your integration tests.