blob: b989bed27d7a1fdab73994c0507a344393571931 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more contributor license
* agreements. See the NOTICE file distributed with this work for additional information regarding
* copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance with the License. You may obtain a
* copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
package org.apache.geode.internal.cache;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
import org.apache.geode.cache.DiskWriteAttributes;
import org.apache.geode.cache.DiskWriteAttributesFactory;
/**
* Tests if DiskWriteAttributeFactory returns the correct DWA object with the desired values
*/
public class DiskWriteAttributesJUnitTest {
/**
* Test method for 'org.apache.geode.cache.DiskWriteAttributes.getDefaultInstance()'
*/
@Test
public void testGetDefaultInstance() {
DiskWriteAttributesFactory dwaf = new DiskWriteAttributesFactory();
DiskWriteAttributes dwa = dwaf.create();
assertTrue(!dwa.isSynchronous());
assertTrue(dwa.isRollOplogs());
}
/**
* Test method for 'org.apache.geode.cache.DiskWriteAttributes.getDefaultSync()'
*/
@Test
public void testGetDefaultSync() {
DiskWriteAttributesFactory dwaf = new DiskWriteAttributesFactory();
dwaf.setSynchronous(true);
DiskWriteAttributes dwa = dwaf.create();
assertTrue(dwa.isSynchronous());
assertTrue(dwa.isRollOplogs());
}
/**
* Test method for 'org.apache.geode.cache.DiskWriteAttributes.getDefaultAsync()'
*/
@Test
public void testGetDefaultAsync() {
DiskWriteAttributesFactory dwaf = new DiskWriteAttributesFactory();
DiskWriteAttributes dwa = dwaf.create();
assertTrue(!dwa.isSynchronous());
assertTrue(dwa.isRollOplogs());
}
/**
* Test method for 'org.apache.geode.cache.DiskWriteAttributes.getDefaultRollingSync()'
*/
@Test
public void testGetDefaultRollingSync() {
DiskWriteAttributesFactory dwaf = new DiskWriteAttributesFactory();
dwaf.setSynchronous(true);
DiskWriteAttributes dwa = dwaf.create();
assertTrue(dwa.isSynchronous());
assertTrue(dwa.isRollOplogs());
}
/**
* Test method for 'org.apache.geode.cache.DiskWriteAttributes.getDefaultRollingAsync()'
*/
@Test
public void testGetDefaultRollingAsync() {
DiskWriteAttributesFactory dwaf = new DiskWriteAttributesFactory();
DiskWriteAttributes dwa = dwaf.create();
assertTrue(!dwa.isSynchronous());
assertTrue(dwa.isRollOplogs());
}
/**
* Test method for 'org.apache.geode.cache.DiskWriteAttributes.getDefaultNonRollingSync()'
*/
@Test
public void testGetDefaultNonRollingSync() {
DiskWriteAttributesFactory dwaf = new DiskWriteAttributesFactory();
dwaf.setRollOplogs(false);
dwaf.setSynchronous(true);
DiskWriteAttributes dwa = dwaf.create();
assertTrue(dwa.isSynchronous());
assertTrue(!dwa.isRollOplogs());
}
/**
* Test method for 'org.apache.geode.cache.DiskWriteAttributes.getDefaultNonRollingAsync()'
*/
@Test
public void testGetDefaultNonRollingAsync() {
DiskWriteAttributesFactory dwaf = new DiskWriteAttributesFactory();
dwaf.setRollOplogs(false);
DiskWriteAttributes dwa = dwaf.create();
assertTrue(!dwa.isSynchronous());
assertTrue(!dwa.isRollOplogs());
}
/**
* Tests the behaviour of DiskWriteAttributesFactory & DiskWritesAttrbutes with various
* combinations of time interval & buffer size.
*/
@Test
public void testDiskWriteAttributesCreation() {
DiskWriteAttributesFactory dwaf = new DiskWriteAttributesFactory();
dwaf.setSynchronous(true);
DiskWriteAttributes dwa = dwaf.create();
assertEquals(dwa.getBytesThreshold(), 0);
assertEquals(dwa.getTimeInterval(), 0);
dwaf.setSynchronous(false);
dwa = dwaf.create();
assertEquals(dwa.getBytesThreshold(), 0);
assertEquals(dwa.getTimeInterval(), DiskWriteAttributesImpl.DEFAULT_TIME_INTERVAL);
dwaf.setBytesThreshold(0);
dwa = dwaf.create();
assertEquals(dwa.getBytesThreshold(), 0);
assertEquals(dwa.getTimeInterval(), DiskWriteAttributesImpl.DEFAULT_TIME_INTERVAL);
dwaf.setBytesThreshold(1);
dwa = dwaf.create();
assertEquals(dwa.getBytesThreshold(), 1);
assertEquals(dwa.getTimeInterval(), 0);
dwaf.setBytesThreshold(0);
dwaf.setTimeInterval(0);
dwa = dwaf.create();
assertEquals(dwa.getBytesThreshold(), 0);
assertEquals(dwa.getTimeInterval(), 0);
DiskWriteAttributesFactory dwaf1 = new DiskWriteAttributesFactory();
DiskWriteAttributes dwa1 = dwaf1.create();
assertEquals(dwa1.getBytesThreshold(), 0);
assertEquals(dwa1.getTimeInterval(), DiskWriteAttributesImpl.DEFAULT_TIME_INTERVAL);
DiskWriteAttributesFactory dwaf2 = new DiskWriteAttributesFactory(dwa1);
DiskWriteAttributes dwa2 = dwaf2.create();
assertEquals(dwa2.getBytesThreshold(), 0);
assertEquals(dwa2.getTimeInterval(), DiskWriteAttributesImpl.DEFAULT_TIME_INTERVAL);
dwaf1 = new DiskWriteAttributesFactory();
dwaf1.setBytesThreshold(100);
dwaf2 = new DiskWriteAttributesFactory(dwaf1.create());
dwa2 = dwaf2.create();
assertEquals(dwa2.getBytesThreshold(), 100);
assertEquals(dwa2.getTimeInterval(), 0);
dwaf1 = new DiskWriteAttributesFactory();
dwaf1.setBytesThreshold(0);
dwaf1.setTimeInterval(0);
dwaf2 = new DiskWriteAttributesFactory(dwaf1.create());
dwa2 = dwaf2.create();
assertEquals(dwa2.getBytesThreshold(), 0);
assertEquals(dwa2.getTimeInterval(), 0);
dwaf1 = new DiskWriteAttributesFactory();
dwa1 = dwaf1.create();
dwaf2 = new DiskWriteAttributesFactory(dwa1);
dwa2 = dwaf2.create();
assertEquals(dwa2.getBytesThreshold(), 0);
assertEquals(dwa2.getTimeInterval(), DiskWriteAttributesImpl.DEFAULT_TIME_INTERVAL);
assertEquals(dwa1.getBytesThreshold(), 0);
assertEquals(dwa1.getTimeInterval(), DiskWriteAttributesImpl.DEFAULT_TIME_INTERVAL);
// Important :Notice the behaviour difference in the time nterval setting
dwaf1.setBytesThreshold(1);
dwaf2.setBytesThreshold(1);
dwa1 = dwaf1.create();
dwa2 = dwaf2.create();
assertEquals(dwa2.getBytesThreshold(), 1);
assertEquals(dwa2.getTimeInterval(), DiskWriteAttributesImpl.DEFAULT_TIME_INTERVAL);
assertEquals(dwa1.getBytesThreshold(), 1);
assertEquals(dwa1.getTimeInterval(), 0);
}
}