in rake-runner-test/src/jetbrains/slow/plugins/rakerunner/RubyEnvConfiguratorServiceAgentTest.java [111:148]
public void test_setSharedOptionsRvm() throws IOException {
if (!SystemInfo.isUnix) {
throw new SkipException("Not a UNIX. RVM support is only for Unix.");
}
final Ref<BuildRunnerContext> contextRef = new Ref<BuildRunnerContext>();
// add listener
addBuildParamsListener(null, null, null, contextRef);
final HashMap<String, String> featureParamsMap = new HashMap<String, String>();
// use rvm
featureParamsMap.put(RubyEnvConfiguratorConstants.UI_USE_RVM_KEY, "manual");
featureParamsMap.put(RubyEnvConfiguratorConstants.UI_RVM_SDK_NAME_KEY, RubyVersionsDataProvider.getExistentRVMRubyVersion());
featureParamsMap.put(RubyEnvConfiguratorConstants.UI_RVM_GEMSET_NAME_KEY, "teamcity");
featureParamsMap.put(RubyEnvConfiguratorConstants.UI_RVM_GEMSET_CREATE_IF_NON_EXISTS, "true");
final SBuildType bt = configureFakeBuild(FakeBuildConfiguration.Feature, featureParamsMap);
// launch
finishBuild(startBuild(bt, false));
// check shared params:
final Map<String, String> params = contextRef.get().getRunnerParameters();
Assert.assertNotNull(params);
SharedParams sharedParams = SharedParams.fromRunParameters(params);
assertTrue(sharedParams.isSetted());
assertEquals(SharedParamsType.RVM, sharedParams.getType());
assertEquals(RubyVersionsDataProvider.getExistentRVMRubyVersion(), sharedParams.getRVMSdkName());
assertEquals("teamcity", sharedParams.getRVMGemsetName());
assertNull(sharedParams.getInterpreterPath());
assertNull(sharedParams.getRVMRCPath());
assertTrue("RVM shared settings are applied", sharedParams.isApplied());
}