Skip to content
This repository has been archived by the owner on Oct 24, 2024. It is now read-only.

Commit

Permalink
refactor errors
Browse files Browse the repository at this point in the history
  • Loading branch information
taryune committed Nov 2, 2023
1 parent 8505d12 commit 793a008
Show file tree
Hide file tree
Showing 25 changed files with 100 additions and 92 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ func (suite *KeeperTestSuite) TestExtendTopLevelDomain() {
{
creator: testutil.Bob,
extensionPeriodInYear: 1,
expErr: errorsmod.Wrapf(types.ErrDomainNotEditable, "%s", testutil.Bob),
expErr: errorsmod.Wrapf(types.ErrTopLevelDomainNotEditable, "%s", testutil.Bob),
fn: func() {},
},
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import (
"fmt"

authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
"github.com/mycel-domain/mycel/app/params"
"github.com/mycel-domain/mycel/testutil"
"github.com/mycel-domain/mycel/x/registry/types"

Expand Down Expand Up @@ -49,7 +50,7 @@ func (suite *KeeperTestSuite) TestRegisterSecondLevelDomain() {
name: "foo",
parent: "cel",
registrationPeriodInYear: 1,
expErr: errorsmod.Wrapf(types.ErrDomainIsAlreadyTaken, "foo.cel"),
expErr: errorsmod.Wrapf(types.ErrSecondLevelDomainAlreadyTaken, "foo.cel"),
fn: func() {
// Register domain once
domain := &types.MsgRegisterSecondLevelDomain{
Expand All @@ -67,7 +68,7 @@ func (suite *KeeperTestSuite) TestRegisterSecondLevelDomain() {
name: "foo",
parent: "xxx",
registrationPeriodInYear: 1,
expErr: errorsmod.Wrapf(types.ErrParentDomainDoesNotExist, "xxx"),
expErr: errorsmod.Wrapf(types.ErrSecondLevelDomainParentDoesNotExist, "xxx"),
fn: func() {
},
},
Expand All @@ -92,7 +93,7 @@ func (suite *KeeperTestSuite) TestRegisterSecondLevelDomain() {
suite.Require().True(found)

moduleAddress := authtypes.NewModuleAddress(types.ModuleName)
beforeModuleBalance := suite.app.BankKeeper.GetBalance(suite.ctx, moduleAddress, types.MycelDenom)
beforeModuleBalance := suite.app.BankKeeper.GetBalance(suite.ctx, moduleAddress, params.DefaultBondDenom)

// Register second level domain
_, err := suite.msgServer.RegisterSecondLevelDomain(suite.ctx, registerMsg)
Expand All @@ -119,7 +120,7 @@ func (suite *KeeperTestSuite) TestRegisterSecondLevelDomain() {
fee, err := config.GetRegistrationFee(tc.name, tc.registrationPeriodInYear)
suite.Require().Nil(err)

afterModuleBalance := suite.app.BankKeeper.GetBalance(suite.ctx, moduleAddress, types.MycelDenom)
afterModuleBalance := suite.app.BankKeeper.GetBalance(suite.ctx, moduleAddress, params.DefaultBondDenom)
suite.Require().Equal(beforeModuleBalance.Add(fee), afterModuleBalance)
suite.Require().Equal(beforeParent.TotalWithdrawalAmount.Add(fee), afterParent.TotalWithdrawalAmount)

Expand Down
2 changes: 1 addition & 1 deletion x/registry/keeper/msg_server_register_top_level_domain.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ func (k msgServer) RegisterTopLevelDomain(goCtx context.Context, msg *types.MsgR
ctx := sdk.UnwrapSDKContext(goCtx)

if msg.RegistrationPeriodInYear < 1 || msg.RegistrationPeriodInYear > 4 {
return nil, errorsmod.Wrapf(types.ErrInvalidRegistrationPeriod, "%d year(s)", msg.RegistrationPeriodInYear)
return nil, errorsmod.Wrapf(types.ErrTopLevelDomainInvalidRegistrationPeriod, "%d year(s)", msg.RegistrationPeriodInYear)
}

topLevelDomain, fee, err := k.Keeper.RegisterTopLevelDomain(ctx, msg.Creator, msg.Name, msg.RegistrationPeriodInYear)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ func (suite *KeeperTestSuite) TestRegisterTopLevelDomain() {
creator: testutil.Alice,
name: "cel2",
registrationPeriodInYear: 1,
expErr: errorsmod.Wrapf(types.ErrDomainIsAlreadyTaken, "cel2"),
expErr: errorsmod.Wrapf(types.ErrTopLevelDomainAlreadyTaken, "cel2"),
fn: func() {
// Register domain once
domain := &types.MsgRegisterTopLevelDomain{
Expand Down
2 changes: 1 addition & 1 deletion x/registry/keeper/msg_server_update_dns_record.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ func (k msgServer) UpdateDnsRecord(goCtx context.Context, msg *types.MsgUpdateDn

domain, isFound := k.Keeper.GetSecondLevelDomain(ctx, msg.Name, msg.Parent)
if !isFound {
return nil, errorsmod.Wrapf(types.ErrDomainNotFound, "%s.%s", msg.Name, msg.Parent)
return nil, errorsmod.Wrapf(types.ErrSecondLevelDomainNotFound, "%s.%s", msg.Name, msg.Parent)
}

// Check if the domain is owned by the creator
Expand Down
4 changes: 2 additions & 2 deletions x/registry/keeper/msg_server_update_dns_record_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ func (suite *KeeperTestSuite) TestUpdateDnsRecord() {
parent: "fuga",
dnsRecordType: "A",
value: "192.168.0.1",
expErr: errorsmod.Wrapf(types.ErrDomainNotFound, "hoge.fuga"),
expErr: errorsmod.Wrapf(types.ErrSecondLevelDomainNotFound, "hoge.fuga"),
fn: func() {},
},
{
Expand All @@ -61,7 +61,7 @@ func (suite *KeeperTestSuite) TestUpdateDnsRecord() {
parent: "cel",
dnsRecordType: "A",
value: "192.168.0.1",
expErr: errorsmod.Wrapf(types.ErrDomainNotEditable, "%s", testutil.Bob),
expErr: errorsmod.Wrapf(types.ErrSecondLevelDomainNotEditable, "%s", testutil.Bob),
fn: func() {},
},
}
Expand Down
2 changes: 1 addition & 1 deletion x/registry/keeper/msg_server_update_wallet_record.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ func (k msgServer) UpdateWalletRecord(goCtx context.Context, msg *types.MsgUpdat

domain, isFound := k.Keeper.GetSecondLevelDomain(ctx, msg.Name, msg.Parent)
if !isFound {
return nil, errorsmod.Wrapf(types.ErrDomainNotFound, "%s.%s", msg.Name, msg.Parent)
return nil, errorsmod.Wrapf(types.ErrSecondLevelDomainNotFound, "%s.%s", msg.Name, msg.Parent)
}

// Check if the domain is owned by the creator
Expand Down
4 changes: 2 additions & 2 deletions x/registry/keeper/msg_server_update_wallet_record_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ func (suite *KeeperTestSuite) TestUpdateWalletRecord() {
parent: "fuga",
walletRecordType: "ETHEREUM_MAINNET_MAINNET",
value: "0x1234567890123456789012345678901234567890",
expErr: errorsmod.Wrapf(types.ErrDomainNotFound, "hoge.fuga"),
expErr: errorsmod.Wrapf(types.ErrSecondLevelDomainNotFound, "hoge.fuga"),
fn: func() {},
},
{
Expand All @@ -80,7 +80,7 @@ func (suite *KeeperTestSuite) TestUpdateWalletRecord() {
parent: "cel",
walletRecordType: "ETHEREUM_MAINNET_MAINNET",
value: "0x1234567890123456789012345678901234567890",
expErr: errorsmod.Wrapf(types.ErrDomainNotEditable, "%s", testutil.Bob),
expErr: errorsmod.Wrapf(types.ErrSecondLevelDomainNotEditable, "%s", testutil.Bob),
fn: func() {},
},
}
Expand Down
2 changes: 1 addition & 1 deletion x/registry/keeper/msg_server_withdraw_registration_fee.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ func (k msgServer) WithdrawRegistrationFee(goCtx context.Context, msg *types.Msg
// Get top level domain
topLevelDomain, found := k.Keeper.GetTopLevelDomain(ctx, msg.Name)
if !found {
return nil, errorsmod.Wrapf(types.ErrDomainNotFound, "%s", msg.Name)
return nil, errorsmod.Wrapf(types.ErrSecondLevelDomainNotFound, "%s", msg.Name)
}

if topLevelDomain.TotalWithdrawalAmount.IsZero() {
Expand Down
14 changes: 7 additions & 7 deletions x/registry/keeper/second_level_domain.go
Original file line number Diff line number Diff line change
Expand Up @@ -94,16 +94,16 @@ func (k Keeper) GetValidSecondLevelDomain(ctx sdk.Context, name string, parent s
return types.SecondLevelDomain{}, err
}

// Get second level domain
// Get second-level-domain
secondLevelDomain, isFound := k.GetSecondLevelDomain(ctx, name, parent)
if !isFound {
return types.SecondLevelDomain{}, errorsmod.Wrapf(types.ErrDomainNotFound, "%s.%s", name, parent)
return types.SecondLevelDomain{}, errorsmod.Wrapf(types.ErrSecondLevelDomainNotFound, "%s.%s", name, parent)
}

// Check if domain is not expired
// Check if second-level-domain is not expired
expirationDate := time.Unix(0, secondLevelDomain.ExpirationDate)
if ctx.BlockTime().After(expirationDate) && secondLevelDomain.ExpirationDate != 0 {
return types.SecondLevelDomain{}, errorsmod.Wrapf(types.ErrDomainExpired, "%s", name)
return types.SecondLevelDomain{}, errorsmod.Wrapf(types.ErrSecondLevelDomainExpired, "%s", name)
}

return secondLevelDomain, nil
Expand Down Expand Up @@ -172,18 +172,18 @@ func (k Keeper) ValidateSecondLevelDomainIsRegistrable(ctx sdk.Context, secondLe
// Check if second-level-domain is already taken
isTaken := k.GetIsSecondLevelDomainAlreadyTaken(ctx, secondLevelDomain)
if isTaken {
return errorsmod.Wrapf(types.ErrDomainIsAlreadyTaken, "%s.%s", secondLevelDomain.Name, secondLevelDomain.Parent)
return errorsmod.Wrapf(types.ErrSecondLevelDomainAlreadyTaken, "%s.%s", secondLevelDomain.Name, secondLevelDomain.Parent)
}

// Get parent domain of second-level-domain
parentDomain, found := k.GetSecondLevelDomainParent(ctx, secondLevelDomain)
if !found {
return errorsmod.Wrapf(types.ErrParentDomainDoesNotExist, "%s", secondLevelDomain.Parent)
return errorsmod.Wrapf(types.ErrSecondLevelDomainParentDoesNotExist, "%s", secondLevelDomain.Parent)
}

// Check if parent domain has subdomain registration config
if parentDomain.SubdomainConfig.MaxSubdomainRegistrations <= parentDomain.SubdomainCount {
return errorsmod.Wrapf(types.ErrMaxSubdomainCountReached, "%d", parentDomain.SubdomainCount)
return errorsmod.Wrapf(types.ErrTopLevelDomainMaxSubdomainCountReached, "%d", parentDomain.SubdomainCount)
}

return nil
Expand Down
2 changes: 1 addition & 1 deletion x/registry/keeper/second_level_domain_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ func (suite *KeeperTestSuite) TestGetValidSecondLevelDomain() {
Parent: "test",
ExpirationDate: suite.ctx.BlockTime().AddDate(0, 0, -20).UnixNano(),
},
expErr: errorsmod.Wrapf(types.ErrDomainNotFound, "test"),
expErr: errorsmod.Wrapf(types.ErrTopLevelDomainNotFound, "test"),
},
}
for i, tc := range testCases {
Expand Down
4 changes: 2 additions & 2 deletions x/registry/keeper/setup_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ import (
"time"

"github.com/mycel-domain/mycel/testutil"

tmproto "github.com/cometbft/cometbft/proto/tendermint/types"
"github.com/cosmos/cosmos-sdk/baseapp"
sdk "github.com/cosmos/cosmos-sdk/types"
banktypes "github.com/cosmos/cosmos-sdk/x/bank/types"
"github.com/mycel-domain/mycel/app/params"
"github.com/stretchr/testify/suite"
)

Expand Down Expand Up @@ -56,7 +56,7 @@ func makeBalance(address string, balance int64) banktypes.Balance {
Address: address,
Coins: sdk.Coins{
sdk.Coin{
Denom: types.MycelDenom,
Denom: params.DefaultBondDenom,
Amount: sdk.NewInt(balance),
},
},
Expand Down
14 changes: 7 additions & 7 deletions x/registry/keeper/top_level_domain.go
Original file line number Diff line number Diff line change
Expand Up @@ -83,14 +83,14 @@ func (k Keeper) GetValidTopLevelDomain(ctx sdk.Context, name string) (topLevelDo
}

// Get top level domain
topLevelDomain, isFound := k.GetTopLevelDomain(ctx, name)
if !isFound {
return topLevelDomain, errorsmod.Wrapf(types.ErrDomainNotFound, "%s", name)
topLevelDomain, found := k.GetTopLevelDomain(ctx, name)
if !found {
return topLevelDomain, errorsmod.Wrapf(types.ErrTopLevelDomainNotFound, "%s", name)
}

// Check if domain is not expired
if ctx.BlockTime().After(topLevelDomain.ExpirationDate) && topLevelDomain.ExpirationDate != (time.Time{}) {
return topLevelDomain, errorsmod.Wrapf(types.ErrDomainExpired, "%s", name)
return topLevelDomain, errorsmod.Wrapf(types.ErrTopLevelDomainExpired, "%s", name)
}

return topLevelDomain, nil
Expand Down Expand Up @@ -131,7 +131,7 @@ func (k Keeper) PayTopLevelDomainFee(ctx sdk.Context, payer sdk.AccAddress, doma
return registrationFee, nil
}

func (k Keeper) ValidateTopLevelDomainIsRegistrable(ctx sdk.Context, topLevelDomain types.TopLevelDomain) (error) {
func (k Keeper) ValidateTopLevelDomainIsRegistrable(ctx sdk.Context, topLevelDomain types.TopLevelDomain) error {
// Validate top-level-domain
err := topLevelDomain.Validate()
if err != nil {
Expand All @@ -140,7 +140,7 @@ func (k Keeper) ValidateTopLevelDomainIsRegistrable(ctx sdk.Context, topLevelDom
// Check if top-level-domain is already taken
isTaken := k.GetIsTopLevelDomainAlreadyTaken(ctx, topLevelDomain)
if isTaken {
return errorsmod.Wrapf(types.ErrDomainIsAlreadyTaken, "%s", topLevelDomain.Name)
return errorsmod.Wrapf(types.ErrTopLevelDomainAlreadyTaken, "%s", topLevelDomain.Name)
}

return nil
Expand Down Expand Up @@ -194,7 +194,7 @@ func (k Keeper) ExtendTopLevelDomainExpirationDate(ctx sdk.Context, creator stri
// Get domain
topLevelDomain, found := k.GetTopLevelDomain(ctx, domainName)
if !found {
return types.TopLevelDomain{}, types.TopLevelDomainFee{}, errorsmod.Wrapf(types.ErrDomainNotFound, "%s", domainName)
return types.TopLevelDomain{}, types.TopLevelDomainFee{}, errorsmod.Wrapf(types.ErrTopLevelDomainNotFound, "%s", domainName)
}

// Check if the domain is editable
Expand Down
2 changes: 1 addition & 1 deletion x/registry/keeper/top_level_domain_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ func (suite *KeeperTestSuite) TestGetValidTopLevelDomain() {
Name: "test",
ExpirationDate: suite.ctx.BlockTime().AddDate(0, 0, -20),
},
expErr: errorsmod.Wrapf(types.ErrDomainExpired, "test"),
expErr: errorsmod.Wrapf(types.ErrTopLevelDomainExpired, "test"),
},
}
for i, tc := range testCases {
Expand Down
9 changes: 0 additions & 9 deletions x/registry/types/domain_type.go

This file was deleted.

59 changes: 38 additions & 21 deletions x/registry/types/errors.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,26 +6,43 @@ import (
errorsmod "cosmossdk.io/errors"
)

// x/mycel module sentinel errors
// top-level-domain sentinel errors
var (
ErrSample = errorsmod.Register(ModuleName, 1100, "sample error")
ErrDomainIsAlreadyTaken = errorsmod.Register(ModuleName, 1101, "domain is already taken")
ErrInvalidDomainName = errorsmod.Register(ModuleName, 1102, "invalid name")
ErrInvalidDomainParent = errorsmod.Register(ModuleName, 1103, "invalid parent")
ErrDomainNotFound = errorsmod.Register(ModuleName, 1104, "domain not found")
ErrInvalidWalletAddress = errorsmod.Register(ModuleName, 1105, "invalid wallet address")
ErrInvalidWalletRecordType = errorsmod.Register(ModuleName, 1106, "invalid wallet record type")
ErrInvalidDnsRecordValue = errorsmod.Register(ModuleName, 1107, "invalid dns record value")
ErrInvalidDnsRecordType = errorsmod.Register(ModuleName, 1108, "invalid dns record type")
ErrDomainNotEditable = errorsmod.Register(ModuleName, 1109, "role not pemitted to edit the domain")
ErrParentDomainDoesNotExist = errorsmod.Register(ModuleName, 1110, "parent domain does not exist")
ErrParentDomainMustBeEmpty = errorsmod.Register(ModuleName, 1111, "parent domain must be empty")
ErrDomainNotRegistrable = errorsmod.Register(ModuleName, 1112, "domain is not registrable")
ErrMaxSubdomainCountReached = errorsmod.Register(ModuleName, 1113, "max subdomain count reached")
ErrInvalidRegistrationPeriod = errorsmod.Register(ModuleName, 1114, "invalid registration period")
ErrDomainExpired = errorsmod.Register(ModuleName, 1115, "domain expired")
ErrNoEnoughBalance = errorsmod.Register(ModuleName, 1116, "no enough balance")
ErrNoPermissionToWithdraw = errorsmod.Register(ModuleName, 1117, "no permission to withdraw")
ErrNoWithdrawalAmountToWithdraw = errorsmod.Register(ModuleName, 1118, "no registration fee to withdraw")
ErrInvalidDenom = errorsmod.Register(ModuleName, 1119, "invalid denom")
ErrInvalidTopLevelDomainName = errorsmod.Register(ModuleName, 1000, "invalid top-level-domain name")
ErrTopLevelDomainNotFound = errorsmod.Register(ModuleName, 1001, "top-level-domain not found")
ErrTopLevelDomainExpired = errorsmod.Register(ModuleName, 1002, "top-level-domain expired")
ErrTopLevelDomainAlreadyTaken = errorsmod.Register(ModuleName, 1003, "top-level-domain already taken")
ErrTopLevelDomainNotRegistrable = errorsmod.Register(ModuleName, 1004, "top-level-domain not registrable")
ErrTopLevelDomainMaxSubdomainCountReached = errorsmod.Register(ModuleName, 1005, "top-level-domain max subdomain count reached")
ErrTopLevelDomainInvalidRegistrationPeriod = errorsmod.Register(ModuleName, 1006, "top-level-domain invalid registration period")
ErrTopLevelDomainNotEditable = errorsmod.Register(ModuleName, 1007, "top-level-domain not editable")
)

// second-level-domain sentinel errors
var (
ErrInvalidSecondLevelDomainName = errorsmod.Register(ModuleName, 1100, "invalid second-level-domain name")
ErrInvalidSecondLevelDomainParent = errorsmod.Register(ModuleName, 1101, "invalid second-level-domain parent")
ErrSecondLevelDomainNotFound = errorsmod.Register(ModuleName, 1102, "second-level-domain not found")
ErrSecondLevelDomainExpired = errorsmod.Register(ModuleName, 1103, "second-level-domain expired")
ErrSecondLevelDomainAlreadyTaken = errorsmod.Register(ModuleName, 1104, "second-level-domain already taken")
ErrSecondLevelDomainParentDoesNotExist = errorsmod.Register(ModuleName, 1105, "second-level-domain parent does not exist")
ErrSecondLevelDomainInvalidRegistrationPeriod = errorsmod.Register(ModuleName, 1106, "second-level-domain invalid registration period")
ErrSecondLevelDomainNotEditable = errorsmod.Register(ModuleName, 1107, "second-level-domain not editable")
ErrSecondLevelDomainNotRegistrable = errorsmod.Register(ModuleName, 1108, "second-level-domain not registrable")
)

// record sentinel errors
var (
ErrInvalidWalletAddress = errorsmod.Register(ModuleName, 1200, "invalid wallet address")
ErrInvalidWalletRecordType = errorsmod.Register(ModuleName, 1201, "invalid wallet record type")
ErrInvalidDnsRecordValue = errorsmod.Register(ModuleName, 1202, "invalid dns record value")
ErrInvalidDnsRecordType = errorsmod.Register(ModuleName, 1203, "invalid dns record type")
)

// withdraw sentinel errors
var (
ErrNoEnoughBalance = errorsmod.Register(ModuleName, 1300, "no enough balance")
ErrNoPermissionToWithdraw = errorsmod.Register(ModuleName, 1301, "no permission to withdraw")
ErrNoWithdrawalAmountToWithdraw = errorsmod.Register(ModuleName, 1302, "no registration fee to withdraw")
ErrInvalidDenom = errorsmod.Register(ModuleName, 1303, "invalid denom")
)
2 changes: 1 addition & 1 deletion x/registry/types/secend_level_domain.go
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ func (secondLevelDomain *SecondLevelDomain) UpdateDnsRecord(dnsRecordType string

func (secondLevelDomain SecondLevelDomain) IsRecordEditable(sender string) (isEditable bool, err error) {
if secondLevelDomain.AccessControl[sender] == DomainRole_NO_ROLE {
err = errorsmod.Wrapf(ErrDomainNotEditable, "%s", sender)
err = errorsmod.Wrapf(ErrSecondLevelDomainNotEditable, "%s", sender)
}
isEditable = secondLevelDomain.AccessControl[sender] == DomainRole_EDITOR || secondLevelDomain.AccessControl[sender] == DomainRole_OWNER
return isEditable, err
Expand Down
16 changes: 8 additions & 8 deletions x/registry/types/second_level_domain_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,32 +34,32 @@ func TestDomainValidate(t *testing.T) {
},
// Invalid name
{domain: SecondLevelDomain{Name: ".foo", Parent: "myc"},
expErr: errorsmod.Wrapf(ErrInvalidDomainName, ".foo"),
expErr: errorsmod.Wrapf(ErrInvalidSecondLevelDomainName, ".foo"),
},
{domain: SecondLevelDomain{Name: "", Parent: "myc"},
expErr: errorsmod.Wrapf(ErrInvalidDomainName, ""),
expErr: errorsmod.Wrapf(ErrInvalidSecondLevelDomainName, ""),
},
{domain: SecondLevelDomain{Name: "bar.foo", Parent: "myc"},
expErr: errorsmod.Wrapf(ErrInvalidDomainName, "bar.foo"),
expErr: errorsmod.Wrapf(ErrInvalidSecondLevelDomainName, "bar.foo"),
},
{domain: SecondLevelDomain{Name: ".", Parent: "myc"},
expErr: errorsmod.Wrapf(ErrInvalidDomainName, "."),
expErr: errorsmod.Wrapf(ErrInvalidSecondLevelDomainName, "."),
},
{domain: SecondLevelDomain{Name: "##", Parent: "myc"},
expErr: errorsmod.Wrapf(ErrInvalidDomainName, "##"),
expErr: errorsmod.Wrapf(ErrInvalidSecondLevelDomainName, "##"),
},
// Invalid parent
{
domain: SecondLevelDomain{Name: "foo", Parent: ".##"},
expErr: errorsmod.Wrapf(ErrInvalidDomainParent, ".##"),
expErr: errorsmod.Wrapf(ErrInvalidSecondLevelDomainParent, ".##"),
},
{
domain: SecondLevelDomain{Name: "foo", Parent: ".myc"},
expErr: errorsmod.Wrapf(ErrInvalidDomainParent, ".myc"),
expErr: errorsmod.Wrapf(ErrInvalidSecondLevelDomainParent, ".myc"),
},
{
domain: SecondLevelDomain{Name: "foo", Parent: ".foo.myc"},
expErr: errorsmod.Wrapf(ErrInvalidDomainParent, ".foo.myc"),
expErr: errorsmod.Wrapf(ErrInvalidSecondLevelDomainParent, ".foo.myc"),
},
}

Expand Down
Loading

0 comments on commit 793a008

Please sign in to comment.