| /******************************************************************************** |
| * Copyright (c) 2015-2019 Contributors to the Eclipse Foundation |
| * |
| * See the NOTICE file(s) distributed with this work for additional |
| * information regarding copyright ownership. |
| * |
| * This program and the accompanying materials are made available under the |
| * terms of the Eclipse Public License v. 2.0 which is available at |
| * http://www.eclipse.org/legal/epl-2.0. |
| * |
| * SPDX-License-Identifier: EPL-2.0 |
| * |
| ********************************************************************************/ |
| |
| package org.eclipse.mdm.freetextindexer.control; |
| |
| import static org.mockito.ArgumentMatchers.any; |
| import static org.mockito.Mockito.mock; |
| import static org.mockito.Mockito.times; |
| import static org.mockito.Mockito.verify; |
| import static org.mockito.Mockito.when; |
| |
| import javax.enterprise.event.Event; |
| |
| import org.eclipse.mdm.api.dflt.ApplicationContext; |
| import org.eclipse.mdm.freetextindexer.boundary.ElasticsearchBoundary; |
| import org.eclipse.mdm.freetextindexer.boundary.MdmApiBoundary; |
| import org.eclipse.mdm.freetextindexer.events.CreateIndex; |
| import org.junit.Before; |
| import org.junit.Test; |
| |
| import com.google.common.collect.ImmutableMap; |
| |
| public class SetupIndexTest { |
| |
| private SetupIndex setup; |
| |
| @Before |
| @SuppressWarnings("unchecked") |
| public void init() { |
| setup = new SetupIndex(); |
| setup.esBoundary = mock(ElasticsearchBoundary.class); |
| setup.apiBoundary = mock(MdmApiBoundary.class); |
| setup.createIndexEvent = mock(Event.class); |
| } |
| |
| @Test |
| public void hasAlreadyIndex_doNothing() { |
| when(setup.esBoundary.hasIndex(any(String.class))).thenReturn(true); |
| |
| setup.createIndexIfNeccessary(); |
| |
| verify(setup.esBoundary, times(0)).createIndex(any(String.class)); |
| } |
| |
| @Test |
| public void noIndex_created() { |
| ApplicationContext c = mock(ApplicationContext.class); |
| when(setup.esBoundary.hasIndex(any(String.class))).thenReturn(false); |
| when(setup.apiBoundary.getContexts()).thenReturn(ImmutableMap.of("MDM", c)); |
| |
| setup.createIndexIfNeccessary(); |
| |
| verify(setup.createIndexEvent, times(1)).fire(any(CreateIndex.class)); |
| } |
| } |