DriverManagerDataSourceTests.java
Upload User: jiancairen
Upload Date: 2007-08-27
Package Size: 26458k
Code Size: 3k
Category:

Java Develop

Development Platform:

Java

  1. /*
  2.  * Copyright 2002-2004 the original author or authors.
  3.  * 
  4.  * Licensed under the Apache License, Version 2.0 (the "License");
  5.  * you may not use this file except in compliance with the License.
  6.  * You may obtain a copy of the License at
  7.  * 
  8.  *      http://www.apache.org/licenses/LICENSE-2.0
  9.  * 
  10.  * Unless required by applicable law or agreed to in writing, software
  11.  * distributed under the License is distributed on an "AS IS" BASIS,
  12.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13.  * See the License for the specific language governing permissions and
  14.  * limitations under the License.
  15.  */ 
  16. package org.springframework.jdbc.datasource;
  17. import java.sql.Connection;
  18. import java.sql.SQLException;
  19. import junit.framework.TestCase;
  20. import org.easymock.MockControl;
  21. import org.springframework.jdbc.CannotGetJdbcConnectionException;
  22. /**
  23. * @author Rod Johnson
  24. * @version $Id: DriverManagerDataSourceTests.java,v 1.8 2004/03/18 03:01:18 trisberg Exp $
  25. */
  26. public class DriverManagerDataSourceTests extends TestCase {
  27. public void testValidUsage() throws Exception {
  28. final String url = "url";
  29. final String uname = "uname";
  30. final String pwd = "pwd";
  31. MockControl ctrlConnection =
  32. MockControl.createControl(Connection.class);
  33. final Connection mockConnection = (Connection) ctrlConnection.getMock();
  34. ctrlConnection.replay();
  35. class TestDriverManagerDataSource extends DriverManagerDataSource {
  36. protected Connection getConnectionFromDriverManager(
  37. String purl,
  38. String pusername,
  39. String ppassword)
  40. throws SQLException {
  41. assertTrue(purl.equals(url));
  42. assertTrue(pusername.equals(uname));
  43. assertTrue(ppassword.equals(pwd));
  44. return mockConnection;
  45. }
  46. }
  47. DriverManagerDataSource ds = new TestDriverManagerDataSource();
  48. ds.setUrl(url);
  49. ds.setPassword(pwd);
  50. ds.setUsername(uname);
  51. //ds.setDriverClassName("foobar");
  52. Connection actualCon = ds.getConnection();
  53. assertTrue(actualCon == mockConnection);
  54. assertTrue(ds.getUrl().equals(url));
  55. assertTrue(ds.getPassword().equals(pwd));
  56. assertTrue(ds.getUsername().equals(uname));
  57. assertTrue(ds.shouldClose(actualCon));
  58. ctrlConnection.verify();
  59. }
  60. public void testInvalidClassname() throws Exception {
  61. final String url = "url";
  62. final String uname = "uname";
  63. final String pwd = "pwd";
  64. String bogusClassname = "foobar";
  65. DriverManagerDataSource ds = new DriverManagerDataSource();
  66. ds.setUrl(url);
  67. ds.setPassword(pwd);
  68. ds.setUsername(uname);
  69. try {
  70. ds.setDriverClassName(bogusClassname);
  71. fail("Should have thrown CannotGetJdbcConnectionException");
  72. }
  73. catch (CannotGetJdbcConnectionException ex) {
  74. // OK
  75. }
  76. }
  77. }