package com.tw.go.plugin.provider;
import com.tw.go.plugin.setting.DefaultPluginConfigurationView;
import com.tw.go.plugin.setting.PluginSettings;
import org.junit.Before;
import org.junit.Test;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static com.tw.go.plugin.setting.DefaultPluginConfigurationView.*;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
public class DefaultProviderTest {
private Provider provider;
static class TestProvider extends DefaultProvider {
public TestProvider() {
super(new DefaultPluginConfigurationView());
}
@Override
public String pluginId() {
return null;
}
@Override
public String pollerPluginId() {
return null;
}
@Override
public void updateStatus(String url, PluginSettings pluginSettings, String branch, String revision, String pipelineStage, String result, String trackbackURL) throws Exception {
}
@Override
public List<Map<String, Object>> validateConfig(Map<String, Object> fields) {
return null;
}
}
@Before
public void setUp() {
provider = new TestProvider();
}
@Test
public void shouldReturnSettingsObject() {
Map<String, String> responseBodyMap = new HashMap<String, String>();
responseBodyMap.put(PLUGIN_SETTINGS_SERVER_BASE_URL, "url");
responseBodyMap.put(PLUGIN_SETTINGS_END_POINT, "endpoint");
responseBodyMap.put(PLUGIN_SETTINGS_USERNAME, "username");
responseBodyMap.put(PLUGIN_SETTINGS_PASSWORD, "password");
responseBodyMap.put(PLUGIN_SETTINGS_OAUTH_TOKEN, "token");
PluginSettings pluginSettings = provider.pluginSettings(responseBodyMap);
assertThat(pluginSettings.getServerBaseURL(), is("url"));
assertThat(pluginSettings.getEndPoint(), is("endpoint"));
assertThat(pluginSettings.getUsername(), is("username"));
assertThat(pluginSettings.getPassword(), is("password"));
assertThat(pluginSettings.getOauthToken(), is("token"));
}
}