pk generator progress and sequence test progress
This commit is contained in:
@@ -10,8 +10,7 @@
|
||||
|
||||
namespace matador::test {
|
||||
SequenceFixture::SequenceFixture()
|
||||
: db(connection::dns)
|
||||
, repo(db.dialect().default_schema_name()) {
|
||||
: db(connection::dns) {
|
||||
REQUIRE(db.open());
|
||||
}
|
||||
|
||||
@@ -20,7 +19,6 @@ SequenceFixture::~SequenceFixture() {
|
||||
drop_sequence_if_exists(sequences_to_drop.top());
|
||||
sequences_to_drop.pop();
|
||||
}
|
||||
REQUIRE(repo.drop(db));
|
||||
REQUIRE(db.close());
|
||||
}
|
||||
|
||||
@@ -37,5 +35,16 @@ void SequenceFixture::check_sequence_not_exists(const std::string& sequence_name
|
||||
}
|
||||
|
||||
void SequenceFixture::drop_sequence_if_exists(const std::string& sequence_name) const {
|
||||
const auto result = db.sequence_exists(sequence_name).and_then([&sequence_name, this](const bool exists) {
|
||||
if (exists) {
|
||||
auto res = query::query::drop()
|
||||
.sequence(sequence_name)
|
||||
.execute(db);
|
||||
REQUIRE(res);
|
||||
this->check_sequence_not_exists(sequence_name);
|
||||
}
|
||||
return utils::ok(true);
|
||||
});
|
||||
REQUIRE(result);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#ifndef MATADOR_SEQUENCE_FIXTURE_HPP
|
||||
#define MATADOR_SEQUENCE_FIXTURE_HPP
|
||||
|
||||
|
||||
#include "matador/query/schema.hpp"
|
||||
|
||||
#include "matador/sql/connection.hpp"
|
||||
@@ -20,7 +19,6 @@ public:
|
||||
protected:
|
||||
sql::connection db;
|
||||
std::stack <std::string> sequences_to_drop;
|
||||
query::schema repo;
|
||||
|
||||
private:
|
||||
void drop_sequence_if_exists(const std::string &sequence_name) const;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
using namespace matador::query;
|
||||
using namespace matador::test;
|
||||
|
||||
TEST_CASE_METHOD(SequenceFixture, "", "[sequence]") {
|
||||
TEST_CASE_METHOD(SequenceFixture, "test create and drop sequence", "[sequence][create][drop]") {
|
||||
auto result = query::create()
|
||||
.sequence("person_seq")
|
||||
.execute(db);
|
||||
@@ -22,6 +22,13 @@ TEST_CASE_METHOD(SequenceFixture, "", "[sequence]") {
|
||||
REQUIRE(next_id.is_ok());
|
||||
REQUIRE(*next_id == 1);
|
||||
|
||||
auto curr_id = query::select()
|
||||
.currval("person_seq")
|
||||
.fetch_value<uint32_t>(db);
|
||||
|
||||
REQUIRE(curr_id.is_ok());
|
||||
REQUIRE(*curr_id == 1);
|
||||
|
||||
result = query::drop()
|
||||
.sequence("person_seq")
|
||||
.execute(db);
|
||||
|
||||
Reference in New Issue
Block a user