public void test_setSharedOptionsRvm()

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());
  }