/**
* personium.io
* Copyright 2014 FUJITSU LIMITED
*
* Licensed 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 com.fujitsu.dc.core;
import org.junit.Assert;
import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.junit.runner.RunWith;
import com.fujitsu.dc.core.DcCoreMessageUtils.Severity;
import com.fujitsu.dc.test.categories.Unit;
import com.fujitsu.dc.test.jersey.DcRunner;
/**
* URLの作成の組立を行う関数群.
*/
@RunWith(DcRunner.class)
@Category({ Unit.class })
public final class DcCoreExceptionTest {
/**
* 例外発生時のメッセージ生成のテスト.
*/
@Test
public void 例外発生時のメッセージ生成のテスト() {
try {
throw DcCoreException.OData.JSON_PARSE_ERROR;
} catch (DcCoreException e) {
Assert.assertEquals("JSON parse error.", e.getMessage());
}
}
/**
* レスポンスコードからログレベル判定処理.
*/
@Test
public void レスポンスコードからログレベル判定処理() {
// 400系はINFO
Assert.assertEquals(Severity.INFO, DcCoreException.decideSeverity(400));
Assert.assertEquals(Severity.INFO, DcCoreException.decideSeverity(401));
Assert.assertEquals(Severity.INFO, DcCoreException.decideSeverity(405));
Assert.assertEquals(Severity.INFO, DcCoreException.decideSeverity(412));
Assert.assertEquals(Severity.INFO, DcCoreException.decideSeverity(499));
// 500系はWARN
Assert.assertEquals(Severity.WARN, DcCoreException.decideSeverity(500));
Assert.assertEquals(Severity.WARN, DcCoreException.decideSeverity(502));
Assert.assertEquals(Severity.WARN, DcCoreException.decideSeverity(505));
Assert.assertEquals(Severity.WARN, DcCoreException.decideSeverity(512));
Assert.assertEquals(Severity.WARN, DcCoreException.decideSeverity(599));
// 400以下はWARN
Assert.assertEquals(Severity.WARN, DcCoreException.decideSeverity(399));
Assert.assertEquals(Severity.WARN, DcCoreException.decideSeverity(302));
Assert.assertEquals(Severity.WARN, DcCoreException.decideSeverity(300));
Assert.assertEquals(Severity.WARN, DcCoreException.decideSeverity(201));
Assert.assertEquals(Severity.WARN, DcCoreException.decideSeverity(200));
}
/**
* メッセージコードのフォーマット異常.
*/
@Test(expected = IllegalArgumentException.class)
public void メッセージコードのフォーマット異常時に実行時例外が発生すること() {
DcCoreException.create("UNKNOWN");
}
}