PageRenderTime 28ms CodeModel.GetById 23ms RepoModel.GetById 0ms app.codeStats 0ms

/tests/com/google/appengine/datanucleus/jdo/JDODatastoreServiceConfigTest.java

http://datanucleus-appengine.googlecode.com/
Java | 106 lines | 77 code | 10 blank | 19 comment | 0 complexity | 234ffcae217c39f7699977192b58f11d MD5 | raw file
Possible License(s): Apache-2.0
  1. /*
  2. * Copyright (C) 2010 Google Inc
  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 com.google.appengine.datanucleus.jdo;
  17. import com.google.appengine.api.datastore.DatastoreServiceConfig;
  18. import com.google.appengine.api.datastore.ReadPolicy;
  19. import com.google.appengine.datanucleus.DatastoreManager;
  20. import com.google.appengine.datanucleus.Utils;
  21. import java.util.Map;
  22. import javax.jdo.JDOFatalUserException;
  23. import javax.jdo.JDOHelper;
  24. /**
  25. * @author Max Ross <max.ross@gmail.com>
  26. */
  27. public class JDODatastoreServiceConfigTest extends JDOTestCase {
  28. public void testDefaultStorageVersion() {
  29. DatastoreManager storeMgr = (DatastoreManager) getExecutionContext().getStoreManager();
  30. DatastoreServiceConfig config = storeMgr.getDefaultDatastoreServiceConfigForReads();
  31. DatastoreServiceConfig defaultConfig = DatastoreServiceConfig.Builder.withDefaults();
  32. assertEquals(defaultConfig.getDeadline(), config.getDeadline());
  33. assertEquals(defaultConfig.getReadPolicy(), config.getReadPolicy());
  34. }
  35. public void testNonDefaultValuesWithStandardPropertyNames() {
  36. pm.close();
  37. pmf.close();
  38. Map<String, String> props = Utils.newHashMap();
  39. props.put("javax.jdo.option.DatastoreReadTimeoutMillis", "334");
  40. props.put("javax.jdo.option.DatastoreWriteTimeoutMillis", "335");
  41. props.put(DatastoreManager.DATASTORE_READ_CONSISTENCY_PROPERTY, ReadPolicy.Consistency.EVENTUAL.name());
  42. pmf = JDOHelper.getPersistenceManagerFactory(props, getPersistenceManagerFactoryName().name());
  43. pm = pmf.getPersistenceManager();
  44. DatastoreManager storeMgr = (DatastoreManager) getExecutionContext().getStoreManager();
  45. DatastoreServiceConfig config = storeMgr.getDefaultDatastoreServiceConfigForReads();
  46. assertEquals(.334d, config.getDeadline());
  47. assertEquals(new ReadPolicy(ReadPolicy.Consistency.EVENTUAL), config.getReadPolicy());
  48. config = storeMgr.getDefaultDatastoreServiceConfigForWrites();
  49. assertEquals(.335d, config.getDeadline());
  50. assertEquals(new ReadPolicy(ReadPolicy.Consistency.EVENTUAL), config.getReadPolicy());
  51. }
  52. public void testNonDefaultValuesWithDataNucPropertyNames() {
  53. pm.close();
  54. pmf.close();
  55. Map<String, String> props = Utils.newHashMap();
  56. props.put("datanucleus.datastoreReadTimeout", "334");
  57. props.put("datanucleus.datastoreWriteTimeout", "335");
  58. props.put(DatastoreManager.DATASTORE_READ_CONSISTENCY_PROPERTY, ReadPolicy.Consistency.EVENTUAL.name());
  59. pmf = JDOHelper.getPersistenceManagerFactory(props, getPersistenceManagerFactoryName().name());
  60. pm = pmf.getPersistenceManager();
  61. DatastoreManager storeMgr = (DatastoreManager) getExecutionContext().getStoreManager();
  62. DatastoreServiceConfig config = storeMgr.getDefaultDatastoreServiceConfigForReads();
  63. assertEquals(.334d, config.getDeadline());
  64. assertEquals(new ReadPolicy(ReadPolicy.Consistency.EVENTUAL), config.getReadPolicy());
  65. config = storeMgr.getDefaultDatastoreServiceConfigForWrites();
  66. assertEquals(.335d, config.getDeadline());
  67. assertEquals(new ReadPolicy(ReadPolicy.Consistency.EVENTUAL), config.getReadPolicy());
  68. }
  69. public void testNonDefaultValuesInConfigFile() {
  70. pm.close();
  71. pmf.close();
  72. pmf = JDOHelper.getPersistenceManagerFactory("datastoreserviceconfigprops");
  73. pm = pmf.getPersistenceManager();
  74. DatastoreManager storeMgr = (DatastoreManager) getExecutionContext().getStoreManager();
  75. DatastoreServiceConfig config = storeMgr.getDefaultDatastoreServiceConfigForReads();
  76. assertEquals(5.0d, config.getDeadline());
  77. assertEquals(new ReadPolicy(ReadPolicy.Consistency.EVENTUAL), config.getReadPolicy());
  78. config = storeMgr.getDefaultDatastoreServiceConfigForWrites();
  79. assertEquals(10.0d, config.getDeadline());
  80. assertEquals(new ReadPolicy(ReadPolicy.Consistency.EVENTUAL), config.getReadPolicy());
  81. pm.close();
  82. pmf.close();
  83. }
  84. public void testUnknownReadPolicy() {
  85. pm.close();
  86. pmf.close();
  87. Map<String, String> props = Utils.newHashMap();
  88. props.put(DatastoreManager.DATASTORE_READ_CONSISTENCY_PROPERTY, "dne");
  89. try {
  90. pmf = JDOHelper.getPersistenceManagerFactory(props, getPersistenceManagerFactoryName().name());
  91. } catch (JDOFatalUserException e) {
  92. // good
  93. assertTrue(e.getCause().getMessage().startsWith("Illegal value for"));
  94. }
  95. }
  96. }