// Path: src/main/java/io/appform/dropwizard/sharding/config/ShardedHibernateFactory.java
// @Data
// @AllArgsConstructor
// @NoArgsConstructor
// @Builder
// public class ShardedHibernateFactory {
//     @NotNull
//     @NotEmpty
//     @Valid
//     @Singular
//     private List<DataSourceFactory> shards = Lists.newArrayList();
// 
//     @Valid
//     private BlacklistConfig blacklist;
// }
// 
// Path: src/test/java/io/appform/dropwizard/sharding/dao/testdata/entities/Order.java
// @Entity
// @Table(name = "orders")
// @Data
// @AllArgsConstructor
// @NoArgsConstructor
// @EqualsAndHashCode
// @ToString
// @Builder
// public class Order {
//     @Id
//     @GeneratedValue(strategy = GenerationType.IDENTITY)
//     @Column(name = "id")
//     private long id;
// 
//     @Column(name = "order_ext_id", unique = true)
//     private String orderId;
// 
//     @Column(name = "customer_id", nullable = false)
//     private String customerId;
// 
//     @OneToMany(mappedBy = "order")
//     @Cascade(CascadeType.ALL)
//     private List<OrderItem> items;
// 
//     @Column(name = "amount")
//     private int amount;
// 
// }
// 
// Path: src/test/java/io/appform/dropwizard/sharding/dao/testdata/entities/OrderItem.java
// @Entity
// @Table(name = "order_items")
// @Data
// @AllArgsConstructor
// @NoArgsConstructor
// @EqualsAndHashCode
// @ToString
// @Builder
// public class OrderItem {
//     @Id
//     @GeneratedValue(strategy = GenerationType.IDENTITY)
//     private long id;
// 
//     @Column(name = "name")
//     private String name;
// 
//     @ManyToOne
//     @JoinColumn(name = "order_id")
//     private Order order;
// 
// }


import io.appform.dropwizard.sharding.config.ShardedHibernateFactory;
import io.appform.dropwizard.sharding.dao.testdata.entities.Order;
import io.appform.dropwizard.sharding.dao.testdata.entities.OrderItem;
/*
 * Copyright 2019 Santanu Sinha <santanu.sinha@gmail.com>
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */

package io.appform.dropwizard.sharding;


/**
 * Created by tushar.mandar on 4/25/17.
 */
public class LegacyDBShardingBundleWithEntityTest extends DBShardingBundleTestBase {

    @Override
// Path: src/main/java/io/appform/dropwizard/sharding/config/ShardedHibernateFactory.java
// @Data
// @AllArgsConstructor
// @NoArgsConstructor
// @Builder
// public class ShardedHibernateFactory {
//     @NotNull
//     @NotEmpty
//     @Valid
//     @Singular
//     private List<DataSourceFactory> shards = Lists.newArrayList();
// 
//     @Valid
//     private BlacklistConfig blacklist;
// }
// 
// Path: src/test/java/io/appform/dropwizard/sharding/dao/testdata/entities/Order.java
// @Entity
// @Table(name = "orders")
// @Data
// @AllArgsConstructor
// @NoArgsConstructor
// @EqualsAndHashCode
// @ToString
// @Builder
// public class Order {
//     @Id
//     @GeneratedValue(strategy = GenerationType.IDENTITY)
//     @Column(name = "id")
//     private long id;
// 
//     @Column(name = "order_ext_id", unique = true)
//     private String orderId;
// 
//     @Column(name = "customer_id", nullable = false)
//     private String customerId;
// 
//     @OneToMany(mappedBy = "order")
//     @Cascade(CascadeType.ALL)
//     private List<OrderItem> items;
// 
//     @Column(name = "amount")
//     private int amount;
// 
// }
// 
// Path: src/test/java/io/appform/dropwizard/sharding/dao/testdata/entities/OrderItem.java
// @Entity
// @Table(name = "order_items")
// @Data
// @AllArgsConstructor
// @NoArgsConstructor
// @EqualsAndHashCode
// @ToString
// @Builder
// public class OrderItem {
//     @Id
//     @GeneratedValue(strategy = GenerationType.IDENTITY)
//     private long id;
// 
//     @Column(name = "name")
//     private String name;
// 
//     @ManyToOne
//     @JoinColumn(name = "order_id")
//     private Order order;
// 
// }


// Path: src/test/java/io/appform/dropwizard/sharding/LegacyDBShardingBundleWithEntityTest.java
import io.appform.dropwizard.sharding.config.ShardedHibernateFactory;
import io.appform.dropwizard.sharding.dao.testdata.entities.Order;
import io.appform.dropwizard.sharding.dao.testdata.entities.OrderItem;

/*
 * Copyright 2019 Santanu Sinha <santanu.sinha@gmail.com>
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */

package io.appform.dropwizard.sharding;


/**
 * Created by tushar.mandar on 4/25/17.
 */
public class LegacyDBShardingBundleWithEntityTest extends DBShardingBundleTestBase {

    @Override
    protected DBShardingBundleBase<TestConfig> getBundle() {