Skip to content

Commit 78871ff

Browse files
zhilingczhilingc
authored andcommitted
Mock retriever for statsService test
1 parent ec01df1 commit 78871ff

3 files changed

Lines changed: 14 additions & 3 deletions

File tree

core/src/main/java/feast/core/service/StatsService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ private List<FeatureNameStatistics> getFeatureNameStatisticsByDate(
315315
* @param storeName name of the store to retrieve statistics from
316316
* @return {@link StatisticsRetriever}
317317
*/
318-
private StatisticsRetriever getStatisticsRetriever(String storeName)
318+
StatisticsRetriever getStatisticsRetriever(String storeName)
319319
throws InvalidProtocolBufferException {
320320
Store store =
321321
storeRepository

core/src/test/java/feast/core/service/StatsServiceTest.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
import static org.hamcrest.Matchers.equalTo;
2020
import static org.junit.Assert.assertThat;
21-
import static org.mockito.Mockito.when;
21+
import static org.mockito.Mockito.*;
2222
import static org.mockito.MockitoAnnotations.initMocks;
2323

2424
import com.google.protobuf.Timestamp;
@@ -31,6 +31,7 @@
3131
import feast.proto.core.StoreProto;
3232
import feast.proto.core.StoreProto.Store.BigQueryConfig;
3333
import feast.proto.core.StoreProto.Store.StoreType;
34+
import feast.storage.connectors.bigquery.statistics.BigQueryStatisticsRetriever;
3435
import java.io.IOException;
3536
import java.util.Arrays;
3637
import java.util.Optional;
@@ -127,6 +128,11 @@ public void shouldThrowExceptionIfFeatureSetNotFound() throws IOException {
127128
when(featureSetRepository.findFeatureSetByNameAndProject_Name(
128129
"my_feature_set", Project.DEFAULT_NAME))
129130
.thenReturn(null);
131+
132+
statsService = spy(statsService);
133+
BigQueryStatisticsRetriever retriever = mock(BigQueryStatisticsRetriever.class);
134+
doReturn(retriever).when(statsService).getStatisticsRetriever(storeProto.getName());
135+
130136
expectedException.expect(IllegalArgumentException.class);
131137
expectedException.expectMessage("Illegal request. Unable to find feature set my_feature_set");
132138
statsService.getFeatureStatistics(request);

storage/connectors/bigquery/src/main/java/feast/storage/connectors/bigquery/statistics/BigQueryStatisticsRetriever.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,12 @@ public abstract class BigQueryStatisticsRetriever implements StatisticsRetriever
4141
public abstract BigQuery bigquery();
4242

4343
public static BigQueryStatisticsRetriever create(BigQueryConfig config) {
44-
BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();
44+
BigQuery bigquery =
45+
BigQueryOptions.getDefaultInstance()
46+
.toBuilder()
47+
.setProjectId(config.getProjectId())
48+
.build()
49+
.getService();
4550
return newBuilder()
4651
.setBigquery(bigquery)
4752
.setDatasetId(config.getDatasetId())

0 commit comments

Comments
 (0)