(d_client)
| 140 | |
| 141 | @skip_if_server_version_lt("7.9.0") |
| 142 | def test_add_elem_with_attr(d_client): |
| 143 | float_array = [1, 4.32, 10.0, -21, -2.9] |
| 144 | attrs_dict = {"key1": "value1", "key2": "value2"} |
| 145 | resp = d_client.vset().vadd( |
| 146 | "myset", |
| 147 | vector=float_array, |
| 148 | element="elem3", |
| 149 | attributes=attrs_dict, |
| 150 | ) |
| 151 | assert resp == 1 |
| 152 | |
| 153 | emb = d_client.vset().vemb("myset", "elem3") |
| 154 | assert _validate_quantization(float_array, emb, tolerance=0.1) |
| 155 | |
| 156 | attr_saved = d_client.vset().vgetattr("myset", "elem3") |
| 157 | assert attr_saved == attrs_dict |
| 158 | |
| 159 | resp = d_client.vset().vadd( |
| 160 | "myset", |
| 161 | vector=float_array, |
| 162 | element="elem4", |
| 163 | attributes={}, |
| 164 | ) |
| 165 | assert resp == 1 |
| 166 | |
| 167 | emb = d_client.vset().vemb("myset", "elem4") |
| 168 | assert _validate_quantization(float_array, emb, tolerance=0.1) |
| 169 | |
| 170 | attr_saved = d_client.vset().vgetattr("myset", "elem4") |
| 171 | assert attr_saved is None |
| 172 | |
| 173 | resp = d_client.vset().vadd( |
| 174 | "myset", |
| 175 | vector=float_array, |
| 176 | element="elem5", |
| 177 | attributes=json.dumps(attrs_dict), |
| 178 | ) |
| 179 | assert resp == 1 |
| 180 | |
| 181 | emb = d_client.vset().vemb("myset", "elem5") |
| 182 | assert _validate_quantization(float_array, emb, tolerance=0.1) |
| 183 | |
| 184 | attr_saved = d_client.vset().vgetattr("myset", "elem5") |
| 185 | assert attr_saved == attrs_dict |
| 186 | |
| 187 | |
| 188 | @skip_if_server_version_lt("7.9.0") |
nothing calls this directly
no test coverage detected