github.com/insolar/vanilla@v0.0.0-20201023172447-248fdf805322/throw/severe_test.go (about)

     1  // Copyright 2020 Insolar Network Ltd.
     2  // All rights reserved.
     3  // This material is licensed under the Insolar License version 1.0,
     4  // available at https://github.com/insolar/assured-ledger/blob/master/LICENSE.md.
     5  
     6  package throw
     7  
     8  import (
     9  	"testing"
    10  
    11  	"github.com/stretchr/testify/require"
    12  )
    13  
    14  func TestSeverityOf(t *testing.T) {
    15  	require.Equal(t, NormalSeverity, SeverityOf(New("test")))
    16  	require.Equal(t, NormalSeverity, SeverityOf(Severe(NormalSeverity, "test")))
    17  	require.Equal(t, BlameSeverity, SeverityOf(Blame("test")))
    18  	require.Equal(t, ViolationSeverity, SeverityOf(Violation("test")))
    19  	require.Equal(t, FraudSeverity, SeverityOf(Fraud("test")))
    20  	require.Equal(t, RemoteBreachSeverity, SeverityOf(RemoteBreach("test")))
    21  	require.Equal(t, LocalBreachSeverity, SeverityOf(LocalBreach("test")))
    22  	require.Equal(t, LocalBreachSeverity, SeverityOf(DeadCanary("test")))
    23  	require.Equal(t, FatalSeverity, SeverityOf(Fatal("test")))
    24  }
    25  
    26  func TestWithSeverity(t *testing.T) {
    27  	require.Equal(t, NormalSeverity, SeverityOf(New("test")))
    28  	require.Equal(t, FraudSeverity, SeverityOf(WithSeverity(Blame("test"), FraudSeverity)))
    29  	require.Equal(t, NormalSeverity, SeverityOf(WithSeverity(Blame("test"), NormalSeverity)))
    30  }
    31  
    32  func TestWithDefaultSeverity(t *testing.T) {
    33  	require.Equal(t, BlameSeverity, SeverityOf(WithDefaultSeverity(Blame("test"), FraudSeverity)))
    34  	require.Equal(t, BlameSeverity, SeverityOf(WithDefaultSeverity(Blame("test"), NormalSeverity)))
    35  }
    36  
    37  func TestWithEscalatedSeverity(t *testing.T) {
    38  	require.Equal(t, FraudSeverity, SeverityOf(WithEscalatedSeverity(Blame("test"), FraudSeverity)))
    39  	require.Equal(t, BlameSeverity, SeverityOf(WithEscalatedSeverity(Blame("test"), NormalSeverity)))
    40  }
    41  
    42  func TestGetSeverity(t *testing.T) {
    43  	s, ok := GetSeverity(New("test"))
    44  	require.False(t, ok)
    45  	require.Equal(t, NormalSeverity, s)
    46  
    47  	s, ok = GetSeverity(Blame("test"))
    48  	require.True(t, ok)
    49  	require.Equal(t, BlameSeverity, s)
    50  }