go.charczuk.com@v0.0.0-20240327042549-bc490516bd1a/sdk/selector/check_dns_test.go (about)

     1  /*
     2  
     3  Copyright (c) 2023 - Present. Will Charczuk. All rights reserved.
     4  Use of this source code is governed by a MIT license that can be found in the LICENSE file at the root of the repository.
     5  
     6  */
     7  
     8  package selector
     9  
    10  import (
    11  	"testing"
    12  
    13  	. "go.charczuk.com/sdk/assert"
    14  )
    15  
    16  func Test_CheckDNS(t *testing.T) {
    17  	invalidInputs := []string{
    18  		"",
    19  		"FOO",
    20  		"invalid!",
    21  		"!invalid",
    22  		"inval!d",
    23  		"-prefix",
    24  		"suffix-",
    25  		".dots",
    26  		"dots.",
    27  		"dots..dots",
    28  		"dots-.dots",
    29  		"dots.-dots",
    30  		"dots-.-dots",
    31  		"dots-.-dots",
    32  	}
    33  	for _, input := range invalidInputs {
    34  		ItsNotNil(t, CheckDNS(input), "input:", input)
    35  	}
    36  
    37  	validInputs := []string{
    38  		"foo",
    39  		"foo.bar",
    40  		"foo-bar.moo",
    41  		"foo-bar.moo-bar",
    42  		"foo-bar.moo-bar",
    43  	}
    44  	for _, input := range validInputs {
    45  		ItsNil(t, CheckDNS(input), "input:", input)
    46  	}
    47  }