git.frostfs.info/TrueCloudLab/frostfs-sdk-go@v0.0.0-20241022124111-5361f0ecebd3/netmap/yml_tests/filter_complex.yml (about)

     1  name: compound filter
     2  nodes:
     3    - attributes:
     4        - key: Storage
     5          value: SSD
     6        - key: Rating
     7          value: '10'
     8        - key: IntField
     9          value: '100'
    10        - key: Param
    11          value: Value1
    12  tests:
    13    good:
    14      policy:
    15        replicas:
    16          - count: 1
    17            selector: S
    18        containerBackupFactor: 1
    19        selectors:
    20          - name: S
    21            count: 1
    22            clause: DISTINCT
    23            filter: Main
    24        filters:
    25          - name: StorageSSD
    26            key: Storage
    27            op: EQ
    28            value: SSD
    29            filters: []
    30          - name: GoodRating
    31            key: Rating
    32            op: GE
    33            value: '4'
    34            filters: []
    35          - name: Main
    36            op: AND
    37            filters:
    38              - name: StorageSSD
    39                op: OPERATION_UNSPECIFIED
    40                filters: []
    41              - name: ''
    42                key: IntField
    43                op: LT
    44                value: '123'
    45                filters: []
    46              - name: GoodRating
    47                op: OPERATION_UNSPECIFIED
    48                filters: []
    49              - op: OR
    50                filters:
    51                  - key: Param
    52                    op: EQ
    53                    value: Value1
    54                    filters: []
    55                  - key: Param
    56                    op: EQ
    57                    value: Value2
    58                    filters: []
    59      result:
    60        - - 0
    61    bad storage type:
    62      policy:
    63        replicas:
    64          - count: 1
    65            selector: S
    66        containerBackupFactor: 1
    67        selectors:
    68          - name: S
    69            count: 1
    70            clause: DISTINCT
    71            filter: Main
    72        filters:
    73          - name: StorageSSD
    74            key: Storage
    75            op: EQ
    76            value: HDD
    77            filters: []
    78          - name: GoodRating
    79            key: Rating
    80            op: GE
    81            value: '4'
    82            filters: []
    83          - name: Main
    84            op: AND
    85            filters:
    86              - name: StorageSSD
    87                op: OPERATION_UNSPECIFIED
    88                filters: []
    89              - name: ''
    90                key: IntField
    91                op: LT
    92                value: '123'
    93                filters: []
    94              - name: GoodRating
    95                op: OPERATION_UNSPECIFIED
    96                filters: []
    97              - name: ''
    98                op: OR
    99                filters:
   100                  - name: ''
   101                    key: Param
   102                    op: EQ
   103                    value: Value1
   104                    filters: []
   105                  - name: ''
   106                    key: Param
   107                    op: EQ
   108                    value: Value2
   109                    filters: []
   110      error: not enough nodes
   111    bad rating:
   112      policy:
   113        replicas:
   114          - count: 1
   115            selector: S
   116        containerBackupFactor: 1
   117        selectors:
   118          - name: S
   119            count: 1
   120            clause: DISTINCT
   121            filter: Main
   122        filters:
   123          - name: StorageSSD
   124            key: Storage
   125            op: EQ
   126            value: SSD
   127            filters: []
   128          - name: GoodRating
   129            key: Rating
   130            op: GE
   131            value: '15'
   132            filters: []
   133          - name: Main
   134            op: AND
   135            filters:
   136              - name: StorageSSD
   137                op: OPERATION_UNSPECIFIED
   138                filters: []
   139              - name: ''
   140                key: IntField
   141                op: LT
   142                value: '123'
   143                filters: []
   144              - name: GoodRating
   145                op: OPERATION_UNSPECIFIED
   146                filters: []
   147              - name: ''
   148                op: OR
   149                filters:
   150                  - name: ''
   151                    key: Param
   152                    op: EQ
   153                    value: Value1
   154                    filters: []
   155                  - name: ''
   156                    key: Param
   157                    op: EQ
   158                    value: Value2
   159                    filters: []
   160      error: not enough nodes
   161    bad param:
   162      policy:
   163        replicas:
   164          - count: 1
   165            selector: S
   166        containerBackupFactor: 1
   167        selectors:
   168          - name: S
   169            count: 1
   170            clause: DISTINCT
   171            filter: Main
   172        filters:
   173          - name: StorageSSD
   174            key: Storage
   175            op: EQ
   176            value: SSD
   177            filters: []
   178          - name: GoodRating
   179            key: Rating
   180            op: GE
   181            value: '4'
   182            filters: []
   183          - name: Main
   184            op: AND
   185            filters:
   186              - name: StorageSSD
   187                op: OPERATION_UNSPECIFIED
   188                filters: []
   189              - name: ''
   190                key: IntField
   191                op: LT
   192                value: '123'
   193                filters: []
   194              - name: GoodRating
   195                op: OPERATION_UNSPECIFIED
   196                filters: []
   197              - name: ''
   198                op: OR
   199                filters:
   200                  - name: ''
   201                    key: Param
   202                    op: EQ
   203                    value: Value0
   204                    filters: []
   205                  - name: ''
   206                    key: Param
   207                    op: EQ
   208                    value: Value2
   209                    filters: []
   210      error: not enough nodes