@@ -0,0 +1,3444 @@
+/*%0A * Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.%0A *%0A * WSO2 Inc. licenses this file to you under the Apache License,%0A * Version 2.0 (the %22License%22); you may not use this file except%0A * in compliance with the License.%0A * You may obtain a copy of the License at%0A *%0A *   http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing,%0A * software distributed under the License is distributed on an%0A * %22AS IS%22 BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY%0A * KIND, either express or implied.  See the License for the%0A * specific language governing permissions and limitations%0A * under the License.%0A */%0A%0Apackage org.wso2.carbon.dashboards.core.internal.database;%0A%0Aimport org.junit.jupiter.api.Assertions;%0Aimport org.junit.jupiter.api.Test;%0Aimport org.wso2.carbon.config.ConfigurationException;%0Aimport org.wso2.carbon.config.provider.ConfigProvider;%0Aimport org.wso2.carbon.dashboards.core.bean.DashboardConfigurations;%0Aimport org.wso2.carbon.dashboards.core.exception.DashboardException;%0Aimport org.wso2.carbon.datasource.core.api.DataSourceService;%0Aimport org.wso2.carbon.datasource.core.exception.DataSourceException;%0A%0Aimport javax.sql.DataSource;%0A%0Aimport static org.mockito.ArgumentMatchers.anyString;%0Aimport static org.mockito.ArgumentMatchers.eq;%0Aimport static org.mockito.Mockito.mock;%0Aimport static org.mockito.Mockito.when;%0A%0A/**%0A * Test cases for %7B@link DashboardMetadataDaoFactory%7D class.%0A *%0A * @since 4.0.0%0A */%0Apublic class DashboardMetadataDaoFactoryTest %7B%0A%0A    @Test%0A    void createDaoWhenDataSourceServiceThrowException() throws Exception %7B%0A        DataSourceService dataSourceService = mock(DataSourceService.class);%0A        when(dataSourceService.getDataSource(anyString())).thenThrow(DataSourceException.class);%0A        ConfigProvider configProvider = mock(ConfigProvider.class);%0A%0A        Assertions.assertThrows(DashboardException.class,%0A                                () -%3E DashboardMetadataDaoFactory.createDao(dataSourceService, configProvider));%0A    %7D%0A%0A    @Test%0A    void createDaoWhenConfigProviderThrowException() throws Exception %7B%0A        DataSource dataSource = mock(DataSource.class);%0A        DataSourceService dataSourceService = mock(DataSourceService.class);%0A        when(dataSourceService.getDataSource(anyString())).thenReturn(dataSource);%0A%0A        ConfigProvider configProvider = mock(ConfigProvider.class);%0A        when(configProvider.getConfigurationObject(eq(DashboardConfigurations.class)))%0A                .thenThrow(ConfigurationException.class);%0A%0A        Assertions.assertThrows(DashboardException.class,%0A                                () -%3E DashboardMetadataDaoFactory.createDao(dataSourceService, configProvider));%0A    %7D%0A%0A    @Test%0A    void createDaoSuccess() throws Exception %7B%0A        DataSource dataSource = mock(DataSource.class);%0A        DataSourceService dataSourceService = mock(DataSourceService.class);%0A        when(dataSourceService.getDataSource(anyString())).thenReturn(dataSource);%0A%0A        ConfigProvider configProvider = mock(ConfigProvider.class);%0A        when(configProvider.getConfigurationObject(eq(DashboardConfigurations.class)))%0A                .thenReturn(new DashboardConfigurations());%0A%0A        try %7B%0A            DashboardMetadataDaoFactory.createDao(dataSourceService, configProvider);%0A        %7D catch (DashboardException e) %7B%0A            Assertions.fail(%22DAO instantiation failed%22, e);%0A        %7D%0A    %7D%0A%7D%0A

add DashboardMetadataDaoFactoryTest test class