Skip to content
This repository has been archived by the owner on Jun 10, 2024. It is now read-only.

Commit

Permalink
add changepassword
Browse files Browse the repository at this point in the history
  • Loading branch information
loveridge committed Aug 17, 2015
1 parent 0521c4f commit 2396463
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 0 deletions.
16 changes: 16 additions & 0 deletions lib/src/connection.cc
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ void OracleConnection_getUsername(Dart_NativeArguments args){

Dart_ExitScope();
}

void OracleConnection_getConnectionString(Dart_NativeArguments args){
Dart_EnterScope();

Expand All @@ -81,3 +82,18 @@ void OracleConnection_getConnectionString(Dart_NativeArguments args){

Dart_ExitScope();
}

void OracleConnection_changePassword(Dart_NativeArguments args){
Dart_EnterScope();

auto conn = getThis<std::shared_ptr<Connection>>(args)->get()->conn;
std::string username = getThis<std::shared_ptr<Connection>>(args)->get()->username;
auto oldpass = getDartArg<std::string>(args, 1);
auto newpass = getDartArg<std::string>(args, 2);

try {
conn->changePassword(username, oldpass, newpass);
} CATCH_SQL_EXCEPTION

Dart_ExitScope();
}
1 change: 1 addition & 0 deletions lib/src/connection.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,4 @@ void OracleConnection_createStatement(Dart_NativeArguments arguments);
void OracleConnection_rollback(Dart_NativeArguments arguments);
void OracleConnection_getUsername(Dart_NativeArguments arguments);
void OracleConnection_getConnectionString(Dart_NativeArguments arguments);
void OracleConnection_changePassword(Dart_NativeArguments arguments);
1 change: 1 addition & 0 deletions lib/src/occi_extension.cc
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ FunctionLookup function_list[] = {
{"OracleConnection_rollback", OracleConnection_rollback},
{"OracleConnection_getUsername", OracleConnection_getUsername},
{"OracleConnection_getConnectionString", OracleConnection_getConnectionString},
{"OracleConnection_changePassword", OracleConnection_changePassword},
{"OracleStatement_getSql", OracleStatement_getSql},
{"OracleStatement_setSql", OracleStatement_setSql},
{"OracleStatement_setPrefetchRowCount", OracleStatement_setPrefetchRowCount},
Expand Down
1 change: 1 addition & 0 deletions lib/src/occi_extension.dart
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ class Connection {

String getUsername() native 'OracleConnection_getUsername';
String getConnectionString() native 'OracleConnection_getConnectionString';
String changePassword(String oldpass, String newpass) native 'OracleConnection_changePassword';

void execute(String sql, [List<Object> args]) {
var stmt = createStatement(sql);
Expand Down
10 changes: 10 additions & 0 deletions test/complete_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,16 @@ main() {
stmt.execute();
con.commit();
});
test('change password', (){
con.changePassword(password, 'dig');
var newcon = env.createConnection(username, 'dig', connString);
var stmt = newcon.createStatement("SELECT * FROM test_table");
var results = stmt.executeQuery();
results.next(1);
expect(results.getNum(1), equals(34));

newcon.changePassword('dig', password);
});
test('get connection properties', (){
expect(con.getConnectionString(), equals(connString));
expect(con.getUsername(), equals(username));
Expand Down

0 comments on commit 2396463

Please sign in to comment.