package internal

import (
	"encoding/hex"
	gonanoid "github.com/matoous/go-nanoid"
	"matrix-common/pkg/logger"
	"time"

	"fmt"
	"math"
	"net"
	"testing"
)

func TestBatchLookup(t *testing.T) {
	for i := 0; i < 10; i++ {
		TestLookup(t)
		time.Sleep(1 * time.Second)
	}
}

func TestLookup(t *testing.T) {
	id, _ := gonanoid.Generate("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ", 6)
	originalText := time.Now().Format("2006-01-02 15:04:05.000")

	text := hex.EncodeToString([]byte(originalText))

	chunkSize := 18
	data := make([]string, 0)

	fLen := float64(len(text)) / float64(chunkSize)
	l := int(math.Ceil(fLen))

	for i := 0; i < l; i++ {
		if i == 0 {
			data = append(data, text[:chunkSize])
		} else {
			if (i+1)*chunkSize > len(text) {
				data = append(data, text[i*chunkSize:])
			} else {
				data = append(data, text[i*chunkSize:(i+1)*chunkSize])
			}
		}
	}
	logger.Log().Infof("%#v", data)

	for i, datum := range data {
		_, _ = net.LookupIP(fmt.Sprintf("%s.%s.%d.%s.log.skcks.cn", "a", id, i, datum))
	}
	_, _ = net.LookupIP(fmt.Sprintf("%s.%s.%s.%s.log.skcks.cn", "e", id, "x", "x"))
}
