github.com/TrueCloudLab/frostfs-api-go/v2@v2.0.0-20230228134343-196241c4e79a/netmap/test/generate.go (about)

     1  package netmaptest
     2  
     3  import (
     4  	"github.com/TrueCloudLab/frostfs-api-go/v2/netmap"
     5  	refstest "github.com/TrueCloudLab/frostfs-api-go/v2/refs/test"
     6  	sessiontest "github.com/TrueCloudLab/frostfs-api-go/v2/session/test"
     7  )
     8  
     9  func GenerateFilter(empty bool) *netmap.Filter {
    10  	return generateFilter(empty, true)
    11  }
    12  
    13  func generateFilter(empty, withSub bool) *netmap.Filter {
    14  	m := new(netmap.Filter)
    15  
    16  	if !empty {
    17  		m.SetKey("filter key")
    18  		m.SetValue("filter value")
    19  		m.SetName("filter name")
    20  		m.SetOp(1)
    21  
    22  		if withSub {
    23  			m.SetFilters([]netmap.Filter{
    24  				*generateFilter(empty, false),
    25  				*generateFilter(empty, false),
    26  			})
    27  		}
    28  	}
    29  
    30  	return m
    31  }
    32  
    33  func GenerateFilters(empty bool) []netmap.Filter {
    34  	var res []netmap.Filter
    35  
    36  	if !empty {
    37  		res = append(res,
    38  			*GenerateFilter(false),
    39  			*GenerateFilter(false),
    40  		)
    41  	}
    42  
    43  	return res
    44  }
    45  
    46  func GenerateSelector(empty bool) *netmap.Selector {
    47  	m := new(netmap.Selector)
    48  
    49  	if !empty {
    50  		m.SetCount(66)
    51  		m.SetAttribute("selector attribute")
    52  		m.SetFilter("select filter")
    53  		m.SetName("select name")
    54  		m.SetClause(1)
    55  	}
    56  
    57  	return m
    58  }
    59  
    60  func GenerateSelectors(empty bool) []netmap.Selector {
    61  	var res []netmap.Selector
    62  
    63  	if !empty {
    64  		res = append(res,
    65  			*GenerateSelector(false),
    66  			*GenerateSelector(false),
    67  		)
    68  	}
    69  
    70  	return res
    71  }
    72  
    73  func GenerateReplica(empty bool) *netmap.Replica {
    74  	m := new(netmap.Replica)
    75  
    76  	if !empty {
    77  		m.SetCount(42)
    78  		m.SetSelector("replica selector")
    79  	}
    80  
    81  	return m
    82  }
    83  
    84  func GenerateReplicas(empty bool) []netmap.Replica {
    85  	var res []netmap.Replica
    86  
    87  	if !empty {
    88  		res = append(res,
    89  			*GenerateReplica(false),
    90  			*GenerateReplica(false),
    91  		)
    92  	}
    93  
    94  	return res
    95  }
    96  
    97  func GeneratePlacementPolicy(empty bool) *netmap.PlacementPolicy {
    98  	m := new(netmap.PlacementPolicy)
    99  
   100  	if !empty {
   101  		m.SetContainerBackupFactor(322)
   102  		m.SetFilters(GenerateFilters(false))
   103  		m.SetSelectors(GenerateSelectors(false))
   104  		m.SetReplicas(GenerateReplicas(false))
   105  		m.SetSubnetID(refstest.GenerateSubnetID(false))
   106  	}
   107  
   108  	return m
   109  }
   110  
   111  func GenerateAttribute(empty bool) *netmap.Attribute {
   112  	m := new(netmap.Attribute)
   113  
   114  	if !empty {
   115  		m.SetKey("attribute key")
   116  		m.SetValue("attribute val")
   117  	}
   118  
   119  	return m
   120  }
   121  
   122  func GenerateAttributes(empty bool) []netmap.Attribute {
   123  	var res []netmap.Attribute
   124  
   125  	if !empty {
   126  		res = append(res,
   127  			*GenerateAttribute(false),
   128  			*GenerateAttribute(false),
   129  		)
   130  	}
   131  
   132  	return res
   133  }
   134  
   135  func GenerateNodeInfo(empty bool) *netmap.NodeInfo {
   136  	m := new(netmap.NodeInfo)
   137  
   138  	if !empty {
   139  		m.SetAddresses("node address", "node address 2")
   140  		m.SetPublicKey([]byte{1, 2, 3})
   141  		m.SetState(33)
   142  		m.SetAttributes(GenerateAttributes(empty))
   143  	}
   144  
   145  	return m
   146  }
   147  
   148  func GenerateLocalNodeInfoRequestBody(empty bool) *netmap.LocalNodeInfoRequestBody {
   149  	m := new(netmap.LocalNodeInfoRequestBody)
   150  
   151  	return m
   152  }
   153  
   154  func GenerateLocalNodeInfoRequest(empty bool) *netmap.LocalNodeInfoRequest {
   155  	m := new(netmap.LocalNodeInfoRequest)
   156  
   157  	if !empty {
   158  		m.SetBody(GenerateLocalNodeInfoRequestBody(false))
   159  	}
   160  
   161  	m.SetMetaHeader(sessiontest.GenerateRequestMetaHeader(empty))
   162  	m.SetVerificationHeader(sessiontest.GenerateRequestVerificationHeader(empty))
   163  
   164  	return m
   165  }
   166  
   167  func GenerateLocalNodeInfoResponseBody(empty bool) *netmap.LocalNodeInfoResponseBody {
   168  	m := new(netmap.LocalNodeInfoResponseBody)
   169  
   170  	if !empty {
   171  		m.SetNodeInfo(GenerateNodeInfo(false))
   172  	}
   173  
   174  	m.SetVersion(refstest.GenerateVersion(empty))
   175  
   176  	return m
   177  }
   178  
   179  func GenerateLocalNodeInfoResponse(empty bool) *netmap.LocalNodeInfoResponse {
   180  	m := new(netmap.LocalNodeInfoResponse)
   181  
   182  	if !empty {
   183  		m.SetBody(GenerateLocalNodeInfoResponseBody(false))
   184  	}
   185  
   186  	m.SetMetaHeader(sessiontest.GenerateResponseMetaHeader(empty))
   187  	m.SetVerificationHeader(sessiontest.GenerateResponseVerificationHeader(empty))
   188  
   189  	return m
   190  }
   191  
   192  func GenerateNetworkParameter(empty bool) *netmap.NetworkParameter {
   193  	m := new(netmap.NetworkParameter)
   194  
   195  	if !empty {
   196  		m.SetKey([]byte("key"))
   197  		m.SetValue([]byte("value"))
   198  	}
   199  
   200  	return m
   201  }
   202  
   203  func GenerateNetworkConfig(empty bool) *netmap.NetworkConfig {
   204  	m := new(netmap.NetworkConfig)
   205  
   206  	if !empty {
   207  		m.SetParameters(
   208  			*GenerateNetworkParameter(empty),
   209  			*GenerateNetworkParameter(empty),
   210  		)
   211  	}
   212  
   213  	return m
   214  }
   215  
   216  func GenerateNetworkInfo(empty bool) *netmap.NetworkInfo {
   217  	m := new(netmap.NetworkInfo)
   218  
   219  	if !empty {
   220  		m.SetMagicNumber(228)
   221  		m.SetCurrentEpoch(666)
   222  		m.SetMsPerBlock(5678)
   223  		m.SetNetworkConfig(GenerateNetworkConfig(empty))
   224  	}
   225  
   226  	return m
   227  }
   228  
   229  func GenerateNetworkInfoRequestBody(empty bool) *netmap.NetworkInfoRequestBody {
   230  	m := new(netmap.NetworkInfoRequestBody)
   231  
   232  	return m
   233  }
   234  
   235  func GenerateNetworkInfoRequest(empty bool) *netmap.NetworkInfoRequest {
   236  	m := new(netmap.NetworkInfoRequest)
   237  
   238  	if !empty {
   239  		m.SetBody(GenerateNetworkInfoRequestBody(false))
   240  	}
   241  
   242  	m.SetMetaHeader(sessiontest.GenerateRequestMetaHeader(empty))
   243  	m.SetVerificationHeader(sessiontest.GenerateRequestVerificationHeader(empty))
   244  
   245  	return m
   246  }
   247  
   248  func GenerateNetworkInfoResponseBody(empty bool) *netmap.NetworkInfoResponseBody {
   249  	m := new(netmap.NetworkInfoResponseBody)
   250  
   251  	if !empty {
   252  		m.SetNetworkInfo(GenerateNetworkInfo(false))
   253  	}
   254  
   255  	return m
   256  }
   257  
   258  func GenerateNetworkInfoResponse(empty bool) *netmap.NetworkInfoResponse {
   259  	m := new(netmap.NetworkInfoResponse)
   260  
   261  	if !empty {
   262  		m.SetBody(GenerateNetworkInfoResponseBody(false))
   263  	}
   264  
   265  	m.SetMetaHeader(sessiontest.GenerateResponseMetaHeader(empty))
   266  	m.SetVerificationHeader(sessiontest.GenerateResponseVerificationHeader(empty))
   267  
   268  	return m
   269  }
   270  
   271  func GenerateNetMap(empty bool) *netmap.NetMap {
   272  	m := new(netmap.NetMap)
   273  
   274  	if !empty {
   275  		m.SetEpoch(987)
   276  		m.SetNodes([]netmap.NodeInfo{
   277  			*GenerateNodeInfo(false),
   278  			*GenerateNodeInfo(false),
   279  		})
   280  	}
   281  
   282  	return m
   283  }
   284  
   285  func GenerateSnapshotRequestBody(_ bool) *netmap.SnapshotRequestBody {
   286  	return new(netmap.SnapshotRequestBody)
   287  }
   288  
   289  func GenerateSnapshotRequest(empty bool) *netmap.SnapshotRequest {
   290  	m := new(netmap.SnapshotRequest)
   291  
   292  	if !empty {
   293  		m.SetBody(GenerateSnapshotRequestBody(false))
   294  	}
   295  
   296  	m.SetMetaHeader(sessiontest.GenerateRequestMetaHeader(empty))
   297  	m.SetVerificationHeader(sessiontest.GenerateRequestVerificationHeader(empty))
   298  
   299  	return m
   300  }
   301  
   302  func GenerateSnapshotResponseBody(empty bool) *netmap.SnapshotResponseBody {
   303  	m := new(netmap.SnapshotResponseBody)
   304  
   305  	if !empty {
   306  		m.SetNetMap(GenerateNetMap(false))
   307  	}
   308  
   309  	return m
   310  }
   311  
   312  func GenerateSnapshotResponse(empty bool) *netmap.SnapshotResponse {
   313  	m := new(netmap.SnapshotResponse)
   314  
   315  	if !empty {
   316  		m.SetBody(GenerateSnapshotResponseBody(false))
   317  	}
   318  
   319  	m.SetMetaHeader(sessiontest.GenerateResponseMetaHeader(empty))
   320  	m.SetVerificationHeader(sessiontest.GenerateResponseVerificationHeader(empty))
   321  
   322  	return m
   323  }