@Test public void createTemplate_does_POST_on_Ws_create_template() { underTest.createTemplate( new CreateTemplateWsRequest() .setName(NAME_VALUE) .setDescription(DESCRIPTION_VALUE) .setProjectKeyPattern(PROJECT_KEY_PATTERN_VALUE)); assertThat(serviceTester.getPostParser()) .isSameAs(WsPermissions.CreateTemplateWsResponse.parser()); PostRequest postRequest = serviceTester.getPostRequest(); serviceTester .assertThat(postRequest) .hasPath("create_template") .hasParam(PARAM_NAME, NAME_VALUE) .hasParam(PARAM_DESCRIPTION, DESCRIPTION_VALUE) .hasParam(PARAM_PROJECT_KEY_PATTERN, PROJECT_KEY_PATTERN_VALUE) .andNoOtherParam(); }
@Test public void template_permission_web_services() { WsPermissions.CreateTemplateWsResponse createTemplateWsResponse = permissionsWsClient.createTemplate( new CreateTemplateWsRequest() .setName("my-new-template") .setDescription("template-used-in-tests")); assertThat(createTemplateWsResponse.getPermissionTemplate().getName()) .isEqualTo("my-new-template"); permissionsWsClient.addUserToTemplate( new AddUserToTemplateWsRequest() .setPermission("admin") .setTemplateName("my-new-template") .setLogin(LOGIN)); permissionsWsClient.addGroupToTemplate( new AddGroupToTemplateWsRequest() .setPermission("admin") .setTemplateName("my-new-template") .setGroupName(GROUP_NAME)); permissionsWsClient.addProjectCreatorToTemplate( AddProjectCreatorToTemplateWsRequest.builder() .setPermission("admin") .setTemplateName("my-new-template") .build()); SearchTemplatesWsResponse searchTemplatesWsResponse = permissionsWsClient.searchTemplates( new SearchTemplatesWsRequest().setQuery("my-new-template")); assertThat(searchTemplatesWsResponse.getPermissionTemplates(0).getName()) .isEqualTo("my-new-template"); assertThat(searchTemplatesWsResponse.getPermissionTemplates(0).getPermissions(0).getKey()) .isEqualTo("admin"); assertThat( searchTemplatesWsResponse.getPermissionTemplates(0).getPermissions(0).getUsersCount()) .isEqualTo(1); assertThat( searchTemplatesWsResponse.getPermissionTemplates(0).getPermissions(0).getGroupsCount()) .isEqualTo(1); assertThat( searchTemplatesWsResponse .getPermissionTemplates(0) .getPermissions(0) .getWithProjectCreator()) .isTrue(); permissionsWsClient.removeGroupFromTemplate( new RemoveGroupFromTemplateWsRequest() .setPermission("admin") .setTemplateName("my-new-template") .setGroupName(GROUP_NAME)); permissionsWsClient.removeUserFromTemplate( new RemoveUserFromTemplateWsRequest() .setPermission("admin") .setTemplateName("my-new-template") .setLogin(LOGIN)); permissionsWsClient.removeProjectCreatorFromTemplate( RemoveProjectCreatorFromTemplateWsRequest.builder() .setPermission("admin") .setTemplateName("my-new-template") .build()); SearchTemplatesWsResponse clearedSearchTemplatesWsResponse = permissionsWsClient.searchTemplates( new SearchTemplatesWsRequest().setQuery("my-new-template")); assertThat(clearedSearchTemplatesWsResponse.getPermissionTemplates(0).getPermissionsList()) .extracting( Permission::getUsersCount, Permission::getGroupsCount, Permission::getWithProjectCreator) .hasSize(5) .containsOnly(tuple(0, 0, false)); }