|
474 | 474 | end |
475 | 475 |
|
476 | 476 | it "should use default host and port when not specified" do |
477 | | - url = PLSQL::JDBCConnection.jdbc_connection_url(database: "/MYSERVICENAME") |
478 | | - expect(url).to eq "jdbc:oracle:thin:@//localhost:1521/MYSERVICENAME" |
| 477 | + original_tns_admin = ENV.delete("TNS_ADMIN") |
| 478 | + begin |
| 479 | + url = PLSQL::JDBCConnection.jdbc_connection_url(database: "/MYSERVICENAME") |
| 480 | + expect(url).to eq "jdbc:oracle:thin:@//localhost:1521/MYSERVICENAME" |
| 481 | + ensure |
| 482 | + ENV["TNS_ADMIN"] = original_tns_admin |
| 483 | + end |
479 | 484 | end |
480 | 485 |
|
481 | 486 | it "should use SID syntax when database starts with colon" do |
|
489 | 494 | end |
490 | 495 |
|
491 | 496 | it "should use TNS alias when TNS_ADMIN is set and no host specified" do |
492 | | - allow(ENV).to receive(:[]).and_call_original |
493 | | - allow(ENV).to receive(:[]).with("TNS_ADMIN").and_return("/path/to/tns") |
494 | | - url = PLSQL::JDBCConnection.jdbc_connection_url(database: "MYALIAS") |
495 | | - expect(url).to eq "jdbc:oracle:thin:@MYALIAS" |
| 497 | + original_tns_admin = ENV["TNS_ADMIN"] |
| 498 | + ENV["TNS_ADMIN"] = "/path/to/tns" |
| 499 | + begin |
| 500 | + url = PLSQL::JDBCConnection.jdbc_connection_url(database: "MYALIAS") |
| 501 | + expect(url).to eq "jdbc:oracle:thin:@MYALIAS" |
| 502 | + ensure |
| 503 | + ENV["TNS_ADMIN"] = original_tns_admin |
| 504 | + end |
| 505 | + end |
| 506 | + |
| 507 | + it "should use service name syntax when TNS_ADMIN is set and database starts with slash" do |
| 508 | + original_tns_admin = ENV["TNS_ADMIN"] |
| 509 | + ENV["TNS_ADMIN"] = "/path/to/tns" |
| 510 | + begin |
| 511 | + url = PLSQL::JDBCConnection.jdbc_connection_url(database: "/MYSERVICENAME") |
| 512 | + expect(url).to eq "jdbc:oracle:thin:@//localhost:1521/MYSERVICENAME" |
| 513 | + ensure |
| 514 | + ENV["TNS_ADMIN"] = original_tns_admin |
| 515 | + end |
| 516 | + end |
| 517 | + |
| 518 | + it "should use SID syntax when TNS_ADMIN is set and database starts with colon" do |
| 519 | + original_tns_admin = ENV["TNS_ADMIN"] |
| 520 | + ENV["TNS_ADMIN"] = "/path/to/tns" |
| 521 | + begin |
| 522 | + url = PLSQL::JDBCConnection.jdbc_connection_url(database: ":MYSID") |
| 523 | + expect(url).to eq "jdbc:oracle:thin:@localhost:1521:MYSID" |
| 524 | + ensure |
| 525 | + ENV["TNS_ADMIN"] = original_tns_admin |
| 526 | + end |
496 | 527 | end |
497 | 528 |
|
498 | 529 | it "should use custom URL when provided" do |
|
0 commit comments