2 * Copyright (c) 2010-2023 Contributors to the openHAB project
4 * See the NOTICE file(s) distributed with this work for additional
7 * This program and the accompanying materials are made available under the
8 * terms of the Eclipse Public License 2.0 which is available at
9 * http://www.eclipse.org/legal/epl-2.0
11 * SPDX-License-Identifier: EPL-2.0
13 package org.openhab.binding.mielecloud.internal.util;
15 import static org.junit.jupiter.api.Assertions.assertNotNull;
17 import java.util.Objects;
19 import org.eclipse.jdt.annotation.NonNullByDefault;
20 import org.eclipse.jdt.annotation.Nullable;
21 import org.junit.jupiter.api.BeforeEach;
22 import org.openhab.binding.mielecloud.internal.config.MieleCloudConfigService;
23 import org.openhab.binding.mielecloud.internal.config.servlet.AccountOverviewServlet;
24 import org.openhab.binding.mielecloud.internal.config.servlet.CreateBridgeServlet;
25 import org.openhab.binding.mielecloud.internal.config.servlet.ForwardToLoginServlet;
26 import org.openhab.binding.mielecloud.internal.config.servlet.ResultServlet;
27 import org.openhab.binding.mielecloud.internal.config.servlet.SuccessServlet;
28 import org.openhab.core.io.net.http.HttpClientFactory;
31 * Common base class for all config flow tests.
33 * @author Björn Lange - Initial Contribution
36 public abstract class AbstractConfigFlowTest extends OpenHabOsgiTest {
38 private WebsiteCrawler crawler;
41 private AccountOverviewServlet accountOverviewServlet;
44 private ForwardToLoginServlet forwardToLoginServlet;
47 private ResultServlet resultServlet;
50 private SuccessServlet successServlet;
53 private CreateBridgeServlet createBridgeServlet;
55 protected final WebsiteCrawler getCrawler() {
56 final WebsiteCrawler crawler = this.crawler;
57 assertNotNull(crawler);
58 return Objects.requireNonNull(crawler);
61 protected final AccountOverviewServlet getAccountOverviewServlet() {
62 final AccountOverviewServlet accountOverviewServlet = this.accountOverviewServlet;
63 assertNotNull(accountOverviewServlet);
64 return Objects.requireNonNull(accountOverviewServlet);
67 protected final ForwardToLoginServlet getForwardToLoginServlet() {
68 final ForwardToLoginServlet forwardToLoginServlet = this.forwardToLoginServlet;
69 assertNotNull(forwardToLoginServlet);
70 return Objects.requireNonNull(forwardToLoginServlet);
73 protected final ResultServlet getResultServlet() {
74 final ResultServlet resultServlet = this.resultServlet;
75 assertNotNull(resultServlet);
76 return Objects.requireNonNull(resultServlet);
79 protected final SuccessServlet getSuccessServlet() {
80 final SuccessServlet successServlet = this.successServlet;
81 assertNotNull(successServlet);
82 return Objects.requireNonNull(successServlet);
85 protected final CreateBridgeServlet getCreateBridgeServlet() {
86 final CreateBridgeServlet createBridgeServlet = this.createBridgeServlet;
87 assertNotNull(createBridgeServlet);
88 return Objects.requireNonNull(createBridgeServlet);
92 public final void setUpConfigFlowTest() {
97 private void setUpCrawler() {
98 HttpClientFactory clientFactory = getService(HttpClientFactory.class);
99 assertNotNull(clientFactory);
100 crawler = new WebsiteCrawler(Objects.requireNonNull(clientFactory));
103 private void setUpServlets() {
104 MieleCloudConfigService configService = getService(MieleCloudConfigService.class);
105 assertNotNull(configService);
107 accountOverviewServlet = configService.getAccountOverviewServlet();
108 forwardToLoginServlet = configService.getForwardToLoginServlet();
109 resultServlet = configService.getResultServlet();
110 successServlet = configService.getSuccessServlet();
111 createBridgeServlet = configService.getCreateBridgeServlet();