Skip to content

Commit 14e6ea5

Browse files
authored
Fixing issues with unit tests caused by PR 30694. (Azure#30956)
* Fixing issues with unit tests caused by PR 30694. * Trying more cleanup. * Trying more cleanup. * Breaking out PersonCrossPartition tests into their own file. * Removing un-needed container creation. * Removing un-used import.
1 parent 7248f7e commit 14e6ea5

File tree

4 files changed

+445
-192
lines changed

4 files changed

+445
-192
lines changed

sdk/cosmos/azure-spring-data-cosmos-test/src/test/java/com/azure/spring/data/cosmos/core/CosmosTemplateIT.java

Lines changed: 0 additions & 191 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@
5555

5656
import java.lang.reflect.InvocationTargetException;
5757
import java.lang.reflect.Method;
58-
import java.util.ArrayList;
5958
import java.util.Arrays;
6059
import java.util.Collections;
6160
import java.util.List;
@@ -82,7 +81,6 @@
8281
import static org.junit.Assert.assertEquals;
8382
import static org.junit.Assert.assertNotNull;
8483
import static org.junit.Assert.fail;
85-
import static org.springframework.data.domain.Sort.Direction.ASC;
8684

8785
@RunWith(SpringJUnit4ClassRunner.class)
8886
@ContextConfiguration(classes = TestRepositoryConfig.class)
@@ -449,195 +447,6 @@ public void testFindAllPageableMultiPagesPageSizeTwo() {
449447
assertThat(responseDiagnosticsTestUtils.getCosmosResponseStatistics().getRequestCharge()).isGreaterThan(0);
450448
}
451449

452-
@Test
453-
public void testFindAllPageableMultiPagesMultiPartition() {
454-
cosmosTemplate.insert(TEST_PERSON_2,
455-
new PartitionKey(personInfo.getPartitionKeyFieldValue(TEST_PERSON_2)));
456-
cosmosTemplate.insert(TEST_PERSON_3,
457-
new PartitionKey(personInfo.getPartitionKeyFieldValue(TEST_PERSON_3)));
458-
final List<Person> expected = Lists.newArrayList(TEST_PERSON, TEST_PERSON_2, TEST_PERSON_3);
459-
460-
for (int i=4; i<=10; i++) {
461-
Person temp = new Person("id_" + i, "fred", LAST_NAME + "_" + i, HOBBIES,
462-
ADDRESSES, AGE, PASSPORT_IDS_BY_COUNTRY);
463-
insertPerson(temp);
464-
expected.add(temp);
465-
}
466-
467-
assertThat(responseDiagnosticsTestUtils.getCosmosDiagnostics()).isNotNull();
468-
assertThat(responseDiagnosticsTestUtils.getCosmosResponseStatistics()).isNull();
469-
470-
final CosmosPageRequest pageRequest = new CosmosPageRequest(0, 100, null);
471-
final Page<Person> page1 = cosmosTemplate.findAll(pageRequest, Person.class, containerName);
472-
473-
final List<Person> resultPage1 = TestUtils.toList(page1);
474-
assertThat(resultPage1.size()).isEqualTo(expected.size());
475-
assertThat(resultPage1).containsAll(expected);
476-
PageTestUtils.validateLastPage(page1, 100);
477-
478-
assertThat(responseDiagnosticsTestUtils.getCosmosDiagnostics()).isNotNull();
479-
assertThat(responseDiagnosticsTestUtils.getCosmosResponseStatistics()).isNotNull();
480-
assertThat(responseDiagnosticsTestUtils.getCosmosResponseStatistics().getRequestCharge()).isGreaterThan(0);
481-
}
482-
483-
@Test
484-
public void testFindAllPageableMultiPagesMultiPartition2() {
485-
cosmosTemplate.insert(TEST_PERSON_2,
486-
new PartitionKey(personInfo.getPartitionKeyFieldValue(TEST_PERSON_2)));
487-
cosmosTemplate.insert(TEST_PERSON_3,
488-
new PartitionKey(personInfo.getPartitionKeyFieldValue(TEST_PERSON_3)));
489-
final List<Person> expected = Lists.newArrayList(TEST_PERSON, TEST_PERSON_2, TEST_PERSON_3);
490-
491-
for (int i=4; i<=10; i++) {
492-
Person temp = new Person("id_" + i, "fred", LAST_NAME + "_" + i, HOBBIES,
493-
ADDRESSES, AGE, PASSPORT_IDS_BY_COUNTRY);
494-
insertPerson(temp);
495-
expected.add(temp);
496-
}
497-
498-
assertThat(responseDiagnosticsTestUtils.getCosmosDiagnostics()).isNotNull();
499-
assertThat(responseDiagnosticsTestUtils.getCosmosResponseStatistics()).isNull();
500-
501-
final CosmosPageRequest pageRequest = new CosmosPageRequest(0, 7, null);
502-
final Page<Person> page1 = cosmosTemplate.findAll(pageRequest, Person.class, containerName);
503-
504-
final List<Person> resultPage1 = TestUtils.toList(page1);
505-
assertThat(resultPage1.size()).isEqualTo(7);
506-
PageTestUtils.validateNonLastPage(page1, 7);
507-
508-
assertThat(responseDiagnosticsTestUtils.getCosmosDiagnostics()).isNotNull();
509-
assertThat(responseDiagnosticsTestUtils.getCosmosResponseStatistics()).isNotNull();
510-
assertThat(responseDiagnosticsTestUtils.getCosmosResponseStatistics().getRequestCharge()).isGreaterThan(0);
511-
512-
final Page<Person> page2 = cosmosTemplate.findAll(page1.nextPageable(), Person.class, containerName);
513-
514-
final List<Person> resultPage2 = TestUtils.toList(page2);
515-
assertThat(resultPage2.size()).isEqualTo(3);
516-
PageTestUtils.validateLastPage(page2, 7);
517-
518-
assertThat(responseDiagnosticsTestUtils.getCosmosDiagnostics()).isNotNull();
519-
assertThat(responseDiagnosticsTestUtils.getCosmosResponseStatistics()).isNotNull();
520-
assertThat(responseDiagnosticsTestUtils.getCosmosResponseStatistics().getRequestCharge()).isGreaterThan(0);
521-
522-
final List<Person> allResults = new ArrayList<>();
523-
allResults.addAll(resultPage1);
524-
allResults.addAll(resultPage2);
525-
assertThat(allResults).containsAll(expected);
526-
}
527-
528-
@Test
529-
public void testFindAllPageableMultiPagesMultiPartition3() {
530-
cosmosTemplate.insert(TEST_PERSON_2,
531-
new PartitionKey(personInfo.getPartitionKeyFieldValue(TEST_PERSON_2)));
532-
cosmosTemplate.insert(TEST_PERSON_3,
533-
new PartitionKey(personInfo.getPartitionKeyFieldValue(TEST_PERSON_3)));
534-
final List<Person> expected = Lists.newArrayList(TEST_PERSON, TEST_PERSON_2, TEST_PERSON_3);
535-
536-
for (int i=4; i<=10; i++) {
537-
Person temp = new Person("id_" + i, "fred", LAST_NAME + "_" + i, HOBBIES,
538-
ADDRESSES, AGE, PASSPORT_IDS_BY_COUNTRY);
539-
insertPerson(temp);
540-
expected.add(temp);
541-
}
542-
543-
assertThat(responseDiagnosticsTestUtils.getCosmosDiagnostics()).isNotNull();
544-
assertThat(responseDiagnosticsTestUtils.getCosmosResponseStatistics()).isNull();
545-
546-
final CosmosPageRequest pageRequest = new CosmosPageRequest(0, 3, null);
547-
final Page<Person> page1 = cosmosTemplate.findAll(pageRequest, Person.class, containerName);
548-
549-
final List<Person> resultPage1 = TestUtils.toList(page1);
550-
assertThat(resultPage1.size()).isEqualTo(3);
551-
PageTestUtils.validateNonLastPage(page1, 3);
552-
553-
assertThat(responseDiagnosticsTestUtils.getCosmosDiagnostics()).isNotNull();
554-
assertThat(responseDiagnosticsTestUtils.getCosmosResponseStatistics()).isNotNull();
555-
assertThat(responseDiagnosticsTestUtils.getCosmosResponseStatistics().getRequestCharge()).isGreaterThan(0);
556-
557-
final Page<Person> page2 = cosmosTemplate.findAll(page1.nextPageable(), Person.class, containerName);
558-
559-
final List<Person> resultPage2 = TestUtils.toList(page2);
560-
assertThat(resultPage2.size()).isEqualTo(3);
561-
PageTestUtils.validateNonLastPage(page2, 3);
562-
563-
assertThat(responseDiagnosticsTestUtils.getCosmosDiagnostics()).isNotNull();
564-
assertThat(responseDiagnosticsTestUtils.getCosmosResponseStatistics()).isNotNull();
565-
assertThat(responseDiagnosticsTestUtils.getCosmosResponseStatistics().getRequestCharge()).isGreaterThan(0);
566-
567-
final Page<Person> page3 = cosmosTemplate.findAll(page2.nextPageable(), Person.class, containerName);
568-
569-
final List<Person> resultPage3 = TestUtils.toList(page3);
570-
assertThat(resultPage3.size()).isEqualTo(3);
571-
PageTestUtils.validateNonLastPage(page3, 3);
572-
573-
assertThat(responseDiagnosticsTestUtils.getCosmosDiagnostics()).isNotNull();
574-
assertThat(responseDiagnosticsTestUtils.getCosmosResponseStatistics()).isNotNull();
575-
assertThat(responseDiagnosticsTestUtils.getCosmosResponseStatistics().getRequestCharge()).isGreaterThan(0);
576-
577-
final Page<Person> page4 = cosmosTemplate.findAll(page3.nextPageable(), Person.class, containerName);
578-
579-
final List<Person> resultPage4 = TestUtils.toList(page4);
580-
assertThat(resultPage4.size()).isEqualTo(1);
581-
PageTestUtils.validateLastPage(page4, 3);
582-
583-
assertThat(responseDiagnosticsTestUtils.getCosmosDiagnostics()).isNotNull();
584-
assertThat(responseDiagnosticsTestUtils.getCosmosResponseStatistics()).isNotNull();
585-
assertThat(responseDiagnosticsTestUtils.getCosmosResponseStatistics().getRequestCharge()).isGreaterThan(0);
586-
587-
final List<Person> allResults = new ArrayList<>();
588-
allResults.addAll(resultPage1);
589-
allResults.addAll(resultPage2);
590-
allResults.addAll(resultPage3);
591-
allResults.addAll(resultPage4);
592-
assertThat(allResults).containsAll(expected);
593-
}
594-
595-
@Test
596-
public void testFindAllPageableMultiPagesMultiPartitionWithOffset() {
597-
cosmosTemplate.insert(TEST_PERSON_2,
598-
new PartitionKey(personInfo.getPartitionKeyFieldValue(TEST_PERSON_2)));
599-
cosmosTemplate.insert(TEST_PERSON_3,
600-
new PartitionKey(personInfo.getPartitionKeyFieldValue(TEST_PERSON_3)));
601-
final List<Person> expected = Lists.newArrayList(TEST_PERSON_2, TEST_PERSON_3);
602-
603-
for (int i=4; i<=10; i++) {
604-
Person temp = new Person("id_" + i, "fred", LAST_NAME + "_" + i, HOBBIES,
605-
ADDRESSES, AGE, PASSPORT_IDS_BY_COUNTRY);
606-
insertPerson(temp);
607-
expected.add(temp);
608-
}
609-
610-
assertThat(responseDiagnosticsTestUtils.getCosmosDiagnostics()).isNotNull();
611-
assertThat(responseDiagnosticsTestUtils.getCosmosResponseStatistics()).isNull();
612-
613-
final CosmosPageRequest pageRequest = CosmosPageRequest.of(1, 0, 7,
614-
null, Sort.by(ASC, "id"));
615-
final Page<Person> page1 = cosmosTemplate.findAll(pageRequest, Person.class, containerName);
616-
617-
final List<Person> resultPage1 = TestUtils.toList(page1);
618-
assertThat(resultPage1.size()).isEqualTo(7);
619-
PageTestUtils.validateNonLastPage(page1, 7);
620-
621-
assertThat(responseDiagnosticsTestUtils.getCosmosDiagnostics()).isNotNull();
622-
assertThat(responseDiagnosticsTestUtils.getCosmosResponseStatistics()).isNotNull();
623-
assertThat(responseDiagnosticsTestUtils.getCosmosResponseStatistics().getRequestCharge()).isGreaterThan(0);
624-
625-
final Page<Person> page2 = cosmosTemplate.findAll(page1.nextPageable(), Person.class, containerName);
626-
627-
final List<Person> resultPage2 = TestUtils.toList(page2);
628-
assertThat(resultPage2.size()).isEqualTo(2);
629-
PageTestUtils.validateLastPage(page2, 7);
630-
631-
assertThat(responseDiagnosticsTestUtils.getCosmosDiagnostics()).isNotNull();
632-
assertThat(responseDiagnosticsTestUtils.getCosmosResponseStatistics()).isNotNull();
633-
assertThat(responseDiagnosticsTestUtils.getCosmosResponseStatistics().getRequestCharge()).isGreaterThan(0);
634-
635-
final List<Person> allResults = new ArrayList<>();
636-
allResults.addAll(resultPage1);
637-
allResults.addAll(resultPage2);
638-
assertThat(allResults).containsAll(expected);
639-
}
640-
641450
@Test
642451
public void testPaginationQuery() {
643452
cosmosTemplate.insert(TEST_PERSON_2,

sdk/cosmos/azure-spring-data-cosmos-test/src/test/java/com/azure/spring/data/cosmos/domain/Person.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import java.util.Map;
1414
import java.util.Objects;
1515

16-
@Container(ru = TestConstants.MULTI_PARTITION_THROUGHPUT, autoScale = true)
16+
@Container()
1717
@CosmosIndexingPolicy()
1818
public class Person {
1919
private String id;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
// Copyright (c) Microsoft Corporation. All rights reserved.
2+
// Licensed under the MIT License.
3+
4+
package com.azure.spring.data.cosmos.domain;
5+
6+
import com.azure.spring.data.cosmos.common.TestConstants;
7+
import com.azure.spring.data.cosmos.core.mapping.Container;
8+
import com.azure.spring.data.cosmos.core.mapping.CosmosIndexingPolicy;
9+
import com.azure.spring.data.cosmos.core.mapping.PartitionKey;
10+
import org.springframework.data.annotation.Version;
11+
12+
import java.util.List;
13+
import java.util.Map;
14+
import java.util.Objects;
15+
16+
@Container(ru = TestConstants.MULTI_PARTITION_THROUGHPUT, autoScale = true)
17+
@CosmosIndexingPolicy()
18+
public class PersonCrossPartition {
19+
private String id;
20+
private String firstName;
21+
22+
@PartitionKey
23+
private String lastName;
24+
private List<String> hobbies;
25+
private List<Address> shippingAddresses;
26+
private Integer age;
27+
private Map<String, String> passportIdsByCountry;
28+
@Version
29+
private String _etag;
30+
31+
public PersonCrossPartition(String id, String firstName, String lastName, List<String> hobbies, List<Address> shippingAddresses,
32+
Integer age, Map<String, String> passportIDsByCountry) {
33+
this.id = id;
34+
this.firstName = firstName;
35+
this.lastName = lastName;
36+
this.hobbies = hobbies;
37+
this.shippingAddresses = shippingAddresses;
38+
this.age = age;
39+
this.passportIdsByCountry = passportIDsByCountry;
40+
}
41+
42+
public PersonCrossPartition() {
43+
}
44+
45+
public String getId() {
46+
return id;
47+
}
48+
49+
public void setId(String id) {
50+
this.id = id;
51+
}
52+
53+
public String getFirstName() {
54+
return firstName;
55+
}
56+
57+
public void setFirstName(String firstName) {
58+
this.firstName = firstName;
59+
}
60+
61+
public String getLastName() {
62+
return lastName;
63+
}
64+
65+
public void setLastName(String lastName) {
66+
this.lastName = lastName;
67+
}
68+
69+
public List<String> getHobbies() {
70+
return hobbies;
71+
}
72+
73+
public void setHobbies(List<String> hobbies) {
74+
this.hobbies = hobbies;
75+
}
76+
77+
public List<Address> getShippingAddresses() {
78+
return shippingAddresses;
79+
}
80+
81+
public void setShippingAddresses(List<Address> shippingAddresses) {
82+
this.shippingAddresses = shippingAddresses;
83+
}
84+
85+
public String get_etag() {
86+
return _etag;
87+
}
88+
89+
public void set_etag(String _etag) {
90+
this._etag = _etag;
91+
}
92+
93+
public Integer getAge() {
94+
return this.age;
95+
}
96+
97+
public void setAge(Integer age) {
98+
this.age = age;
99+
}
100+
101+
public Map<String, String> getPassportIdsByCountry() {
102+
return passportIdsByCountry;
103+
}
104+
105+
public void setPassportIdsByCountry(Map<String, String> passportIdsByCountry) {
106+
this.passportIdsByCountry = passportIdsByCountry;
107+
}
108+
109+
@Override
110+
public boolean equals(Object o) {
111+
if (this == o) {
112+
return true;
113+
}
114+
if (o == null || getClass() != o.getClass()) {
115+
return false;
116+
}
117+
PersonCrossPartition person = (PersonCrossPartition) o;
118+
return Objects.equals(id, person.id)
119+
&& Objects.equals(firstName, person.firstName)
120+
&& Objects.equals(lastName, person.lastName)
121+
&& Objects.equals(hobbies, person.hobbies)
122+
&& Objects.equals(shippingAddresses, person.shippingAddresses)
123+
&& Objects.equals(age, person.age)
124+
&& Objects.equals(passportIdsByCountry, person.passportIdsByCountry);
125+
}
126+
127+
@Override
128+
public int hashCode() {
129+
return Objects.hash(id, firstName, lastName, hobbies, shippingAddresses, age, passportIdsByCountry);
130+
}
131+
132+
@Override
133+
public String toString() {
134+
return "Person{"
135+
+ "id='"
136+
+ id
137+
+ '\''
138+
+ ", firstName='"
139+
+ firstName
140+
+ '\''
141+
+ ", lastName='"
142+
+ lastName
143+
+ '\''
144+
+ ", age="
145+
+ age
146+
+ ", hobbies="
147+
+ hobbies
148+
+ ", shippingAddresses="
149+
+ shippingAddresses
150+
+ ", passportIdsByCountry="
151+
+ passportIdsByCountry
152+
+ ", _etag='"
153+
+ _etag
154+
+ '\''
155+
+ '}';
156+
}
157+
}

0 commit comments

Comments
 (0)