mock

package
v0.15.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 23, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

nolint

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewGridProxyMockClient

func NewGridProxyMockClient(data DBData) proxyclient.Client

NewGridProxyMockClient local grid proxy client constructor

Types

type ContractBillReport

type ContractBillReport struct {
	ID               string
	ContractID       uint64
	DiscountReceived string
	AmountBilled     uint64
	Timestamp        uint64
}

type ContractResources

type ContractResources struct {
	ID         string
	HRU        uint64
	SRU        uint64
	CRU        uint64
	MRU        uint64
	ContractID string
}

type Country added in v0.11.8

type Country struct {
	ID        string
	CountryID uint64
	Code      string
	Name      string
	Region    string
	Subregion string
	Lat       string
	Long      string
}

type DBData

type DBData struct {
	NodeIDMap          map[string]uint64
	FarmIDMap          map[string]uint64
	FreeIPs            map[uint64]uint64
	TotalIPs           map[uint64]uint64
	NodeUsedResources  map[uint64]NodeResourcesTotal
	NodeRentedBy       map[uint64]uint64
	NodeRentContractID map[uint64]uint64
	FarmHasRentedNode  map[uint64]map[uint64]bool

	Nodes               map[uint64]Node
	NodeTotalResources  map[uint64]NodeResourcesTotal
	Farms               map[uint64]Farm
	Twins               map[uint64]Twin
	PublicIPs           map[string]PublicIp
	PublicConfigs       map[uint64]PublicConfig
	NodeContracts       map[uint64]NodeContract
	RentContracts       map[uint64]RentContract
	NameContracts       map[uint64]NameContract
	Billings            map[uint64][]ContractBillReport
	BillReports         uint32
	ContractResources   map[string]ContractResources
	NonDeletedContracts map[uint64][]uint64
	GPUs                map[uint32][]types.NodeGPU
	Regions             map[string]string
	Locations           map[string]Location
	HealthReports       map[uint32]bool
	NodeIpv6            map[uint32]bool
	DMIs                map[uint32]types.Dmi
	Speeds              map[uint32]types.Speed
	PricingPolicies     map[uint]PricingPolicy
	WorkloadsNumbers    map[uint32]uint32

	DB *sql.DB
}

func Load

func Load(db *sql.DB, gormDB *gorm.DB) (DBData, error)

type Farm

type Farm struct {
	ID              string
	GridVersion     uint64
	FarmID          uint64
	Name            string
	TwinID          uint64
	PricingPolicyID uint64
	Certification   string
	StellarAddress  string
	DedicatedFarm   bool
}

type GridProxyMockClient

type GridProxyMockClient struct {
	// contains filtered or unexported fields
}

GridProxyMockClient client that returns data directly from the db

func (*GridProxyMockClient) Contract added in v0.11.3

func (g *GridProxyMockClient) Contract(ctx context.Context, contractID uint32) (res types.Contract, err error)

Contract returns a single contract with the given contractID

func (*GridProxyMockClient) ContractBills added in v0.11.3

func (g *GridProxyMockClient) ContractBills(ctx context.Context, contractID uint32, limit types.Limit) (res []types.ContractBilling, totalCount uint, err error)

ContractBills returns all bills reports for a contract with the given contract id and pagination parameters

func (*GridProxyMockClient) Contracts

func (g *GridProxyMockClient) Contracts(ctx context.Context, filter types.ContractFilter, limit types.Limit) (res []types.Contract, totalCount int, err error)

Contracts returns contracts with the given filters and pagination parameters

func (*GridProxyMockClient) Farms

func (g *GridProxyMockClient) Farms(ctx context.Context, filter types.FarmFilter, limit types.Limit) (res []types.Farm, totalCount int, err error)

Farms returns farms with the given filters and pagination parameters

func (*GridProxyMockClient) Node

func (*GridProxyMockClient) NodeStatus

func (g *GridProxyMockClient) NodeStatus(ctx context.Context, nodeID uint32) (res types.NodeStatus, err error)

func (*GridProxyMockClient) Nodes

func (g *GridProxyMockClient) Nodes(ctx context.Context, filter types.NodeFilter, limit types.Limit) (res []types.Node, totalCount int, err error)

Nodes returns nodes with the given filters and pagination parameters

func (*GridProxyMockClient) Ping

func (g *GridProxyMockClient) Ping() error

Ping makes sure the server is up

func (*GridProxyMockClient) Stats added in v0.11.5

func (g *GridProxyMockClient) Stats(ctx context.Context, filter types.StatsFilter) (res types.Stats, err error)

func (*GridProxyMockClient) Twins

func (g *GridProxyMockClient) Twins(ctx context.Context, filter types.TwinFilter, limit types.Limit) (res []types.Twin, totalCount int, err error)

Twins returns twins with the given filters and pagination parameters

type HealthReport added in v0.13.5

type HealthReport struct {
	NodeTwinId uint64
	Healthy    bool
}

type Location added in v0.13.0

type Location struct {
	ID        string
	Longitude *float64
	Latitude  *float64
}

type NameContract

type NameContract struct {
	ID          string
	GridVersion uint64
	ContractID  uint64
	TwinID      uint64
	Name        string
	State       string
	CreatedAt   uint64
}

type Node

type Node struct {
	ID              string
	GridVersion     uint64
	NodeID          uint64
	FarmID          uint64
	TwinID          uint64
	Country         string
	City            string
	Uptime          uint64
	Created         uint64
	FarmingPolicyID uint64
	Certification   string
	Secure          bool
	Virtualized     bool
	SerialNumber    string
	CreatedAt       uint64
	UpdatedAt       uint64
	LocationID      string
	Power           NodePower `gorm:"type:jsonb;serializer:json"`
	HasGPU          bool
	ExtraFee        uint64
	Dedicated       bool
}

type NodeContract

type NodeContract struct {
	ID                string
	GridVersion       uint64
	ContractID        uint64
	TwinID            uint64
	NodeID            uint64
	DeploymentData    string
	DeploymentHash    string
	NumberOfPublicIPs uint64
	State             string
	CreatedAt         uint64
	ResourcesUsedID   string
}

type NodePower

type NodePower struct {
	State  string `json:"state"`
	Target string `json:"target"`
}

type NodeResourcesTotal

type NodeResourcesTotal struct {
	ID     string
	HRU    uint64
	SRU    uint64
	CRU    uint64
	MRU    uint64
	NodeID string
}

func CalcFreeResources added in v0.13.0

func CalcFreeResources(total NodeResourcesTotal, used NodeResourcesTotal) NodeResourcesTotal

type PricingPolicy added in v0.14.5

type PricingPolicy struct {
	ID                    uint
	GridVersion           int
	PricingPolicyID       int
	Name                  string
	SU                    Unit
	CU                    Unit
	NU                    Unit
	IPU                   Unit
	FoundationAccount     string
	CertifiedSalesAccount string
	DedicatedNodeDiscount int
}

type PublicConfig

type PublicConfig struct {
	ID     string
	IPv4   string
	IPv6   string
	GW4    string
	GW6    string
	Domain string
	NodeID string
}

type PublicIp

type PublicIp struct {
	ID         string
	Gateway    string
	IP         string
	ContractID uint64
	FarmID     string
}

type RentContract

type RentContract struct {
	ID          string
	GridVersion uint64
	ContractID  uint64
	TwinID      uint64
	NodeID      uint64
	State       string
	CreatedAt   uint64
}

type Result

type Result interface {
	types.Contract | types.Farm | types.Node | types.Twin
}

type Twin

type Twin struct {
	ID          string
	GridVersion uint64
	TwinID      uint64
	AccountID   string
	Relay       string
	PublicKey   string
}

type Unit added in v0.14.5

type Unit struct {
	Value int
	Unit  string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL