Implement HW5 stubs, API helpers, optional SQL/MQ helpers, and test coverage

This commit is contained in:
2026-03-09 01:40:48 +03:00
parent d1247eec18
commit 507e14bc2e
53 changed files with 2320 additions and 56 deletions

View File

@@ -0,0 +1,31 @@
package ru.otus.stub.tests;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import ru.otus.stub.helper.SqlHelper;
import java.util.List;
import java.util.Map;
class SqlHelperTest {
@Test
void shouldReadDataFromDatabase() {
final String jdbcUrl = "jdbc:h2:mem:stubdb;DB_CLOSE_DELAY=-1";
final SqlHelper sqlHelper = new SqlHelper(jdbcUrl, "sa", "");
sqlHelper.executeUpdate("""
CREATE TABLE IF NOT EXISTS users (
id BIGINT PRIMARY KEY,
name VARCHAR(100),
score INT
)
""");
sqlHelper.executeUpdate("INSERT INTO users(id, name, score) VALUES (1, 'Test user', 78)");
final List<Map<String, Object>> rows = sqlHelper.selectRows("SELECT name, score FROM users WHERE id = 1");
Assertions.assertEquals(1, rows.size());
Assertions.assertEquals("Test user", rows.getFirst().get("NAME"));
Assertions.assertEquals(78, ((Number) rows.getFirst().get("SCORE")).intValue());
}
}