Commit 49ab6a54 authored by chiaming2000's avatar chiaming2000
Browse files

kinetic-test: split test cases to eliminate side effect caused by

connection closed by drive (for negative test scenarios).
parent 2d6ecf3c
Loading
Loading
Loading
Loading
+52 −18
Original line number Diff line number Diff line
@@ -2417,51 +2417,85 @@ public class KineticBoundaryTest extends IntegrationTestCase {
    }
    
    /**
     * Test max version length cannot exceed max supported size (2048).
     * Test put max version length cannot exceed max supported size (2048).
     */
    @Test
    public void testMaxVersionLength() {
    public void testPutExceedMaxVersionLength() {
        
        byte[] key = toByteArray("key00000000000");
        byte[] value = toByteArray("value00000000000");
        
        int vlen = SimulatorConfiguration.getMaxSupportedVersionSize();
        
        byte[] version = new byte[vlen];
        byte[] version = new byte[vlen + 1];
        Entry entry = new Entry();
        entry.setKey(key);
        entry.setValue(value);
        entry.getEntryMetadata().setVersion(version);
        
        // expect to succeed - allowed version size
        try {
            getClient().putForced(entry);
        } catch (KineticException e) {
            fail("received unexpected exception: " + e);
        }
        
        //expect to fail: exceed max version size to put
        try {
            byte[] version2 = new byte[vlen + 1];
            entry.getEntryMetadata().setVersion(version2);
            
            getClient().putForced(entry);
            fail("did not receive expected exception: request key exceeds max allowed size " + vlen);
            fail("did not receive expected exception: request put version exceeds max allowed size " + vlen);
        } catch (KineticException e) {
            logger.info("caught expected exception: " + e.getMessage());
        }
        
        logger.info(this.testEndInfo());
    }
    
    /**
     * Test delete max version length cannot exceed max supported size (2048).
     */
    @Test
    public void testDeleteExceedMaxVersionLength() {
        
        byte[] key = toByteArray("key00000000000");
        byte[] value = toByteArray("value00000000000");
        
        int vlen = SimulatorConfiguration.getMaxSupportedVersionSize();
        
        byte[] version = new byte[vlen + 1];
        Entry entry = new Entry();
        entry.setKey(key);
        entry.setValue(value);
        entry.getEntryMetadata().setVersion(version);
         
        //expect fail to delete: exceed max version size
        try {
            byte[] version2 = new byte[vlen + 1];
            entry.getEntryMetadata().setVersion(version2);
           
            getClient().delete(entry);
            fail("did not receive expected exception: request key exceeds max allowed size " + vlen);
            fail("did not receive expected exception: request delete version exceeds max allowed size " + vlen);
        } catch (KineticException e) {
            logger.info("caught expected exception: " + e.getMessage());
        }
         
        logger.info(this.testEndInfo());
    }
    
    /**
     * Test max version length cannot exceed max supported size (2048).
     */
    @Test
    public void testValidMaxVersionLength() {
        
        byte[] key = toByteArray("key00000000000");
        byte[] value = toByteArray("value00000000000");
        
        int vlen = SimulatorConfiguration.getMaxSupportedVersionSize();
        
        byte[] version = new byte[vlen];
        Entry entry = new Entry();
        entry.setKey(key);
        entry.setValue(value);
        entry.getEntryMetadata().setVersion(version);
        
        // expect to succeed - allowed version size
        try {
            getClient().putForced(entry);
        } catch (KineticException e) {
            fail("received unexpected exception: " + e);
        }
        
        //expect succeed to delete.
        try {