Crystal Server Projects
-
oh, interesting, so it can be a kafka replacement: https://github.com/cloudamqp/lavinmq/tree/v1.2.10#stream-que...
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
ENV["MARTEN_ENV"] = "test" require "minitest/autorun" require "marten" require "marten/cli" # Only require those to avoid running Crystal Spec in parallel with minitest require "marten/spec/ext/db/statement" require "marten/spec/client" # Copy from https://github.com/martenframework/marten/blob/main/src/marten/spec.cr module Marten module Spec @@client : Marten::Spec::Client? def self.clear_client : Nil @@client = nil end def self.clear_collected_emails : Nil Marten::Emailing::Backend::Development.delivered_emails.clear end def self.delivered_emails : Array(Emailing::Email) Marten::Emailing::Backend::Development.delivered_emails end def self.client @@client ||= Marten::Spec::Client.new end def self.flush_databases Marten::DB::Connection.registry.values.each do |conn| Marten::DB::Management::SchemaEditor.run_for(conn) do |schema_editor| schema_editor.flush_model_tables end end end def self.setup_databases Marten::DB::Connection.registry.values.each do |conn| if !conn.test_database? raise "No test database name is explicitly defined for database connection '#{conn.alias}', cancelling..." end Marten::DB::Management::SchemaEditor.run_for(conn) do |schema_editor| schema_editor.sync_models end end end end end # Hooks https://github.com/ysbaddaden/minitest.cr/blob/bfc73a6196129e59b6c05d49d69e542f83a5939f/src/test.cr#L24 class Minitest::Test def before_setup # Register applications only once Marten.setup if Marten.apps.app_configs.empty? Marten::Spec.setup_databases end def after_teardown Marten::Spec.flush_databases Marten::Spec.clear_collected_emails Marten::Spec.clear_client DB::Statement.reset_query_count end end require "../src/project"