blob: e3e20020e324277bf5c0bfad30e6becd64031dba [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.hadoop.fs;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class TestQuotaUsage {
// check the empty constructor correctly initialises the object
@Test
public void testConstructorEmpty() {
QuotaUsage quotaUsage = new QuotaUsage.Builder().build();
assertEquals("getQuota", -1, quotaUsage.getQuota());
assertEquals("getSpaceConsumed", 0, quotaUsage.getSpaceConsumed());
assertEquals("getSpaceQuota", -1, quotaUsage.getSpaceQuota());
}
// check the full constructor with quota information
@Test
public void testConstructorWithQuota() {
long fileAndDirCount = 22222;
long quota = 44444;
long spaceConsumed = 55555;
long spaceQuota = 66666;
QuotaUsage quotaUsage = new QuotaUsage.Builder().
fileAndDirectoryCount(fileAndDirCount).quota(quota).
spaceConsumed(spaceConsumed).spaceQuota(spaceQuota).build();
assertEquals("getFileAndDirectoryCount", fileAndDirCount,
quotaUsage.getFileAndDirectoryCount());
assertEquals("getQuota", quota, quotaUsage.getQuota());
assertEquals("getSpaceConsumed", spaceConsumed,
quotaUsage.getSpaceConsumed());
assertEquals("getSpaceQuota", spaceQuota, quotaUsage.getSpaceQuota());
}
// check the constructor with quota information
@Test
public void testConstructorNoQuota() {
long spaceConsumed = 11111;
long fileAndDirCount = 22222;
QuotaUsage quotaUsage = new QuotaUsage.Builder().
fileAndDirectoryCount(fileAndDirCount).
spaceConsumed(spaceConsumed).build();
assertEquals("getFileAndDirectoryCount", fileAndDirCount,
quotaUsage.getFileAndDirectoryCount());
assertEquals("getQuota", -1, quotaUsage.getQuota());
assertEquals("getSpaceConsumed", spaceConsumed,
quotaUsage.getSpaceConsumed());
assertEquals("getSpaceQuota", -1, quotaUsage.getSpaceQuota());
}
// check the header
@Test
public void testGetHeader() {
String header = " QUOTA REM_QUOTA SPACE_QUOTA "
+ "REM_SPACE_QUOTA ";
assertEquals(header, QuotaUsage.getHeader());
}
// check the toString method with quotas
@Test
public void testToStringWithQuota() {
long fileAndDirCount = 55555;
long quota = 44444;
long spaceConsumed = 55555;
long spaceQuota = 66665;
QuotaUsage quotaUsage = new QuotaUsage.Builder().
fileAndDirectoryCount(fileAndDirCount).quota(quota).
spaceConsumed(spaceConsumed).spaceQuota(spaceQuota).build();
String expected =" 44444 -11111 66665" +
" 11110 ";
assertEquals(expected, quotaUsage.toString());
}
// check the toString method with quotas
@Test
public void testToStringNoQuota() {
QuotaUsage quotaUsage = new QuotaUsage.Builder().
fileAndDirectoryCount(1234).build();
String expected = " none inf none"
+ " inf ";
assertEquals(expected, quotaUsage.toString());
}
// check the toString method with quotas
@Test
public void testToStringHumanWithQuota() {
long fileAndDirCount = 222255555;
long quota = 222256578;
long spaceConsumed = 1073741825;
long spaceQuota = 1;
QuotaUsage quotaUsage = new QuotaUsage.Builder().
fileAndDirectoryCount(fileAndDirCount).quota(quota).
spaceConsumed(spaceConsumed).spaceQuota(spaceQuota).build();
String expected = " 212.0 M 1023 1 "
+ " -1 G ";
assertEquals(expected, quotaUsage.toString(true));
}
// check the equality
@Test
public void testCompareQuotaUsage() {
long fileAndDirCount = 222255555;
long quota = 222256578;
long spaceConsumed = 1073741825;
long spaceQuota = 1;
long SSDspaceConsumed = 100000;
long SSDQuota = 300000;
QuotaUsage quotaUsage1 = new QuotaUsage.Builder().
fileAndDirectoryCount(fileAndDirCount).quota(quota).
spaceConsumed(spaceConsumed).spaceQuota(spaceQuota).
typeConsumed(StorageType.SSD, SSDQuota).
typeQuota(StorageType.SSD, SSDQuota).
build();
QuotaUsage quotaUsage2 = new QuotaUsage.Builder().
fileAndDirectoryCount(fileAndDirCount).quota(quota).
spaceConsumed(spaceConsumed).spaceQuota(spaceQuota).
typeConsumed(StorageType.SSD, SSDQuota).
typeQuota(StorageType.SSD, SSDQuota).
build();
assertEquals(quotaUsage1, quotaUsage2);
}
}