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.AfterEach;
22 import org.junit.jupiter.api.BeforeEach;
23 import org.openhab.binding.mielecloud.internal.config.MieleCloudConfigService;
24 import org.openhab.binding.mielecloud.internal.config.servlet.AccountOverviewServlet;
25 import org.openhab.binding.mielecloud.internal.config.servlet.CreateBridgeServlet;
26 import org.openhab.binding.mielecloud.internal.config.servlet.ForwardToLoginServlet;
27 import org.openhab.binding.mielecloud.internal.config.servlet.ResultServlet;
28 import org.openhab.binding.mielecloud.internal.config.servlet.SuccessServlet;
29 import org.openhab.core.io.net.http.HttpClientFactory;
32 * Common base class for all config flow tests.
34 * @author Björn Lange - Initial Contribution
37 public abstract class AbstractConfigFlowTest extends OpenHabOsgiTest {
39 private WebsiteCrawler crawler;
42 private AccountOverviewServlet accountOverviewServlet;
45 private ForwardToLoginServlet forwardToLoginServlet;
48 private ResultServlet resultServlet;
51 private SuccessServlet successServlet;
54 private CreateBridgeServlet createBridgeServlet;
56 protected final WebsiteCrawler getCrawler() {
57 final WebsiteCrawler crawler = this.crawler;
58 assertNotNull(crawler);
59 return Objects.requireNonNull(crawler);
62 protected final AccountOverviewServlet getAccountOverviewServlet() {
63 final AccountOverviewServlet accountOverviewServlet = this.accountOverviewServlet;
64 assertNotNull(accountOverviewServlet);
65 return Objects.requireNonNull(accountOverviewServlet);
68 protected final ForwardToLoginServlet getForwardToLoginServlet() {
69 final ForwardToLoginServlet forwardToLoginServlet = this.forwardToLoginServlet;
70 assertNotNull(forwardToLoginServlet);
71 return Objects.requireNonNull(forwardToLoginServlet);
74 protected final ResultServlet getResultServlet() {
75 final ResultServlet resultServlet = this.resultServlet;
76 assertNotNull(resultServlet);
77 return Objects.requireNonNull(resultServlet);
80 protected final SuccessServlet getSuccessServlet() {
81 final SuccessServlet successServlet = this.successServlet;
82 assertNotNull(successServlet);
83 return Objects.requireNonNull(successServlet);
86 protected final CreateBridgeServlet getCreateBridgeServlet() {
87 final CreateBridgeServlet createBridgeServlet = this.createBridgeServlet;
88 assertNotNull(createBridgeServlet);
89 return Objects.requireNonNull(createBridgeServlet);
93 public final void setUpConfigFlowTest() throws Exception {
98 private void setUpCrawler() throws Exception {
99 HttpClientFactory clientFactory = getService(HttpClientFactory.class);
100 assertNotNull(clientFactory);
101 crawler = new WebsiteCrawler(Objects.requireNonNull(clientFactory));
104 private void setUpServlets() {
105 MieleCloudConfigService configService = getService(MieleCloudConfigService.class);
106 assertNotNull(configService);
108 accountOverviewServlet = configService.getAccountOverviewServlet();
109 forwardToLoginServlet = configService.getForwardToLoginServlet();
110 resultServlet = configService.getResultServlet();
111 successServlet = configService.getSuccessServlet();
112 createBridgeServlet = configService.getCreateBridgeServlet();
116 public final void tearDown() throws Exception {
117 getCrawler().close();