Skip to content

Commit 2e2582d

Browse files
committed
Added username to database metadata
1 parent 15debad commit 2e2582d

File tree

4 files changed

+19
-12
lines changed

4 files changed

+19
-12
lines changed

jdbc/src/main/java/tech/ydb/jdbc/context/YdbContext.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,10 @@ public String getUrl() {
130130
return config.getUrl();
131131
}
132132

133+
public String getUsername() {
134+
return config.getUsername();
135+
}
136+
133137
public YdbExecutor createExecutor() throws SQLException {
134138
if (config.isUseQueryService()) {
135139
return new QueryServiceExecutor(this, operationProps.getTransactionLevel(), operationProps.isAutoCommit());

jdbc/src/main/java/tech/ydb/jdbc/impl/YdbDatabaseMetaDataImpl.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,8 @@ public String getURL() {
7979

8080
@Override
8181
public String getUserName() {
82-
return "";
82+
String username = connection.getCtx().getUsername();
83+
return username != null ? username : "";
8384
}
8485

8586
@Override

jdbc/src/main/java/tech/ydb/jdbc/settings/YdbConfig.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ public String getSafeUrl() {
125125
return safeUrl;
126126
}
127127

128-
String getUsername() {
128+
public String getUsername() {
129129
return username;
130130
}
131131

jdbc/src/test/java/tech/ydb/jdbc/YdbDriverStaticCredsTest.java

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import java.util.Properties;
88

99
import org.junit.jupiter.api.AfterAll;
10+
import org.junit.jupiter.api.Assertions;
1011
import org.junit.jupiter.api.BeforeAll;
1112
import org.junit.jupiter.api.Test;
1213
import org.junit.jupiter.api.extension.RegisterExtension;
@@ -64,8 +65,9 @@ private ConnectionSupplier connectByAuthority(String username, String password)
6465
return () -> DriverManager.getConnection(jdbcURL.disableToken().withAutority(username, password).build());
6566
}
6667

67-
private void testConnection(ConnectionSupplier connectionSupplier) throws SQLException {
68+
private void testConnection(ConnectionSupplier connectionSupplier, String userName) throws SQLException {
6869
try (Connection connection = connectionSupplier.get()) {
70+
Assertions.assertEquals(userName, connection.getMetaData().getUserName());
6971
try (Statement statement = connection.createStatement()) {
7072
statement.execute("SELECT 1;");
7173
}
@@ -75,22 +77,22 @@ private void testConnection(ConnectionSupplier connectionSupplier) throws SQLExc
7577
private void wrongConnection(ConnectionSupplier connectionSupplier) {
7678
ExceptionAssert.sqlException("Cannot connect to YDB: gRPC error: (INTERNAL) get token exception: "
7779
+ "Can't login, code: UNAUTHORIZED, issues: [#400020 Invalid password (S_FATAL)]",
78-
() -> testConnection(connectionSupplier));
80+
() -> testConnection(connectionSupplier, null));
7981
}
8082

8183
@Test
8284
public void connectOK() throws SQLException {
83-
testConnection(connectByProperties("user1", ""));
84-
testConnection(connectByAuthority("user1", ""));
85+
testConnection(connectByProperties("user1", ""), "user1");
86+
testConnection(connectByAuthority("user1", ""), "user1");
8587

86-
testConnection(connectByProperties("user1", null));
87-
testConnection(connectByAuthority("user1", null));
88+
testConnection(connectByProperties("user1", null), "user1");
89+
testConnection(connectByAuthority("user1", null), "user1");
8890

89-
testConnection(connectByProperties("user2", "pwss"));
90-
testConnection(connectByAuthority("user2", "pwss"));
91+
testConnection(connectByProperties("user2", "pwss"), "user2");
92+
testConnection(connectByAuthority("user2", "pwss"), "user2");
9193

92-
testConnection(connectByProperties("user3", "pw :ss;"));
93-
testConnection(connectByAuthority("user3", "pw :ss;"));
94+
testConnection(connectByProperties("user3", "pw :ss;"), "user3");
95+
testConnection(connectByAuthority("user3", "pw :ss;"), "user3");
9496
}
9597

9698
@Test

0 commit comments

Comments
 (0)