mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-09-10 14:11:58 +00:00
Compare commits
3 Commits
tas-restap
...
tas-restap
Author | SHA1 | Date | |
---|---|---|---|
|
829c7ef65d | ||
|
0d40d455b2 | ||
|
3d91bf154d |
@@ -4,7 +4,7 @@
|
|||||||
<groupId>org.alfresco.tas</groupId>
|
<groupId>org.alfresco.tas</groupId>
|
||||||
<artifactId>restapi</artifactId>
|
<artifactId>restapi</artifactId>
|
||||||
<name>alfresco-tas-restapi</name>
|
<name>alfresco-tas-restapi</name>
|
||||||
<version>1.51</version>
|
<version>1.52</version>
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-super-pom</artifactId>
|
<artifactId>alfresco-super-pom</artifactId>
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
<connection>scm:git:https://github.com/Alfresco/alfresco-tas-restapi.git</connection>
|
<connection>scm:git:https://github.com/Alfresco/alfresco-tas-restapi.git</connection>
|
||||||
<developerConnection>scm:git:https://github.com/Alfresco/alfresco-tas-restapi.git</developerConnection>
|
<developerConnection>scm:git:https://github.com/Alfresco/alfresco-tas-restapi.git</developerConnection>
|
||||||
<url>https://github.com/Alfresco/alfresco-tas-restapi</url>
|
<url>https://github.com/Alfresco/alfresco-tas-restapi</url>
|
||||||
<tag>v1.51</tag>
|
<tag>v1.52</tag>
|
||||||
</scm>
|
</scm>
|
||||||
|
|
||||||
<issueManagement>
|
<issueManagement>
|
||||||
|
@@ -13,6 +13,7 @@ import org.alfresco.dataprep.CMISUtil.Priority;
|
|||||||
import org.alfresco.rest.model.RestProcessVariableModel;
|
import org.alfresco.rest.model.RestProcessVariableModel;
|
||||||
import org.alfresco.rest.model.RestVariableModel;
|
import org.alfresco.rest.model.RestVariableModel;
|
||||||
import org.alfresco.utility.Utility;
|
import org.alfresco.utility.Utility;
|
||||||
|
import org.alfresco.utility.constants.UserRole;
|
||||||
import org.alfresco.utility.model.FileModel;
|
import org.alfresco.utility.model.FileModel;
|
||||||
import org.alfresco.utility.model.FolderModel;
|
import org.alfresco.utility.model.FolderModel;
|
||||||
import org.alfresco.utility.model.RepoTestModel;
|
import org.alfresco.utility.model.RepoTestModel;
|
||||||
@@ -158,6 +159,15 @@ public class JsonBodyGenerator
|
|||||||
return value.toString();
|
return value.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String siteGroup(String authorityId, UserRole role)
|
||||||
|
{
|
||||||
|
Utility.checkObjectIsInitialized(authorityId, "authorityId");
|
||||||
|
JsonObject value = defineJSON()
|
||||||
|
.add("role", role.name())
|
||||||
|
.add("id", authorityId).build();
|
||||||
|
return value.toString();
|
||||||
|
}
|
||||||
|
|
||||||
public static String siteMemberhipRequest(String message, SiteModel siteModel, String title)
|
public static String siteMemberhipRequest(String message, SiteModel siteModel, String title)
|
||||||
{
|
{
|
||||||
JsonObject value = defineJSON()
|
JsonObject value = defineJSON()
|
||||||
|
@@ -0,0 +1,78 @@
|
|||||||
|
package org.alfresco.rest.model;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import org.alfresco.rest.core.IRestModel;
|
||||||
|
import org.alfresco.rest.core.assertion.ModelAssertion;
|
||||||
|
import org.alfresco.utility.constants.UserRole;
|
||||||
|
import org.alfresco.utility.model.TestModel;
|
||||||
|
import org.testng.Assert;
|
||||||
|
|
||||||
|
import static org.alfresco.utility.report.log.Step.STEP;
|
||||||
|
|
||||||
|
public class RestSiteGroupModel extends TestModel implements IRestModel<RestSiteGroupModel>
|
||||||
|
{
|
||||||
|
@JsonProperty(value = "entry")
|
||||||
|
RestSiteGroupModel model;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public RestSiteGroupModel onModel()
|
||||||
|
{
|
||||||
|
return model;
|
||||||
|
}
|
||||||
|
|
||||||
|
private UserRole role;
|
||||||
|
private String id = "no-id";
|
||||||
|
private RestGroupsModel group;
|
||||||
|
|
||||||
|
public UserRole getRole()
|
||||||
|
{
|
||||||
|
return role;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRole(UserRole role)
|
||||||
|
{
|
||||||
|
this.role = role;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getId()
|
||||||
|
{
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(String id)
|
||||||
|
{
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public RestGroupsModel getGroup()
|
||||||
|
{
|
||||||
|
return group;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGroup(RestGroupsModel group)
|
||||||
|
{
|
||||||
|
this.group = group;
|
||||||
|
}
|
||||||
|
|
||||||
|
public RestSiteGroupModel assertSiteGroupHasRole(UserRole role) {
|
||||||
|
STEP(String.format("REST API: Assert that site group role is '%s'", role));
|
||||||
|
Assert.assertEquals(getRole(), role, "Site group role is not as expected.");
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DSL for assertion on this rest model
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public ModelAssertion<RestSiteGroupModel> assertThat()
|
||||||
|
{
|
||||||
|
return new ModelAssertion<RestSiteGroupModel>(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ModelAssertion<RestSiteGroupModel> and()
|
||||||
|
{
|
||||||
|
return assertThat();
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,32 @@
|
|||||||
|
package org.alfresco.rest.model;
|
||||||
|
|
||||||
|
import org.alfresco.rest.core.RestModels;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import static org.alfresco.utility.report.log.Step.STEP;
|
||||||
|
|
||||||
|
public class RestSiteGroupModelsCollection extends RestModels<RestSiteGroupModel, RestSiteGroupModelsCollection>
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get groups from site groups list
|
||||||
|
*/
|
||||||
|
public RestSiteGroupModel getSiteGroups(String groupId)
|
||||||
|
{
|
||||||
|
STEP(String.format("REST API: Get site group with id '%s'", groupId));
|
||||||
|
RestSiteGroupModel siteGroupEntry = null;
|
||||||
|
List<RestSiteGroupModel> siteGroups = getEntries();
|
||||||
|
|
||||||
|
for (int i = 1; i < siteGroups.size(); i++)
|
||||||
|
{
|
||||||
|
if (siteGroups.get(i).onModel().getId().equals(groupId))
|
||||||
|
{
|
||||||
|
siteGroupEntry = siteGroups.get(i).onModel();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return siteGroupEntry;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@@ -11,9 +11,12 @@ import org.alfresco.rest.model.RestSiteContainerModel;
|
|||||||
import org.alfresco.rest.model.RestSiteContainerModelsCollection;
|
import org.alfresco.rest.model.RestSiteContainerModelsCollection;
|
||||||
import org.alfresco.rest.model.RestSiteMemberModel;
|
import org.alfresco.rest.model.RestSiteMemberModel;
|
||||||
import org.alfresco.rest.model.RestSiteMemberModelsCollection;
|
import org.alfresco.rest.model.RestSiteMemberModelsCollection;
|
||||||
|
import org.alfresco.rest.model.RestSiteGroupModel;
|
||||||
|
import org.alfresco.rest.model.RestSiteGroupModelsCollection;
|
||||||
import org.alfresco.rest.model.RestSiteModel;
|
import org.alfresco.rest.model.RestSiteModel;
|
||||||
import org.alfresco.rest.model.RestSiteModelsCollection;
|
import org.alfresco.rest.model.RestSiteModelsCollection;
|
||||||
import org.alfresco.rest.model.RestSitePersonMembershipRequestModelsCollection;
|
import org.alfresco.rest.model.RestSitePersonMembershipRequestModelsCollection;
|
||||||
|
import org.alfresco.utility.constants.UserRole;
|
||||||
import org.alfresco.utility.model.SiteModel;
|
import org.alfresco.utility.model.SiteModel;
|
||||||
import org.alfresco.utility.model.UserModel;
|
import org.alfresco.utility.model.UserModel;
|
||||||
import org.springframework.http.HttpMethod;
|
import org.springframework.http.HttpMethod;
|
||||||
@@ -257,4 +260,66 @@ public class Site extends ModelRequest<Site>
|
|||||||
RestRequest request = RestRequest.simpleRequest(HttpMethod.POST, "sites/{siteId}/site-membership-requests/{inviteeId}/reject", site.getId(), siteMember.getUsername());
|
RestRequest request = RestRequest.simpleRequest(HttpMethod.POST, "sites/{siteId}/site-membership-requests/{inviteeId}/reject", site.getId(), siteMember.getUsername());
|
||||||
return restWrapper.process(request);
|
return restWrapper.process(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve all group membership of a site using GET call on "sites/{siteId}/group-members"
|
||||||
|
*
|
||||||
|
* @return RestSiteGroupModelsCollection
|
||||||
|
* @throws JsonToModelConversionException
|
||||||
|
*/
|
||||||
|
public RestSiteGroupModelsCollection getSiteGroups()
|
||||||
|
{
|
||||||
|
RestRequest request = RestRequest.simpleRequest(HttpMethod.GET, "sites/{siteId}/group-members?{parameters}", site.getId(), restWrapper.getParameters());
|
||||||
|
return restWrapper.processModels(RestSiteGroupModelsCollection.class, request);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add new site group membership using POST call on "sites/{siteId}/group-members"
|
||||||
|
*
|
||||||
|
* @param authorityId The authorityId of the group
|
||||||
|
* @param role role to assign
|
||||||
|
* @return
|
||||||
|
* @throws JsonToModelConversionException
|
||||||
|
*/
|
||||||
|
public RestSiteGroupModel addSiteGroup(String authorityId, UserRole role)
|
||||||
|
{
|
||||||
|
String siteMemberBody = JsonBodyGenerator.siteGroup(authorityId, role);
|
||||||
|
RestRequest request = RestRequest.requestWithBody(HttpMethod.POST, siteMemberBody, "sites/{siteId}/group-members?{parameters}", site.getId(), restWrapper.getParameters());
|
||||||
|
return restWrapper.processModel(RestSiteGroupModel.class, request);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve specific group membership of a site using GET call on "sites/{siteId}/group-members/{groupId}"
|
||||||
|
*
|
||||||
|
* @param groupId
|
||||||
|
* @return RestSiteGroupModel
|
||||||
|
*/
|
||||||
|
public RestSiteGroupModel getSiteGroup(String groupId)
|
||||||
|
{
|
||||||
|
RestRequest request = RestRequest.simpleRequest(HttpMethod.GET, "sites/{siteId}/group-members/{groupId}", site.getId(), groupId);
|
||||||
|
return restWrapper.processModel(RestSiteGroupModel.class, request);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update site group membership role with PUT call on "sites/{siteId}/group-members/{groupId}"
|
||||||
|
* @param groupId
|
||||||
|
* @return RestSiteGroupModel
|
||||||
|
* @throws JsonToModelConversionException
|
||||||
|
*/
|
||||||
|
public RestSiteGroupModel updateSiteGroup(String groupId, UserRole role)
|
||||||
|
{
|
||||||
|
String json = JsonBodyGenerator.keyValueJson("role", role.toString());
|
||||||
|
RestRequest request = RestRequest.requestWithBody(HttpMethod.PUT, json, "sites/{siteId}/group-members/{groupId}", site.getId(), groupId);
|
||||||
|
return restWrapper.processModel(RestSiteGroupModel.class, request);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete site group membership with DELETE call on "sites/{siteId}/group-members/{groupId}"
|
||||||
|
* @param groupId
|
||||||
|
*/
|
||||||
|
public void deleteSiteGroup(String groupId)
|
||||||
|
{
|
||||||
|
RestRequest request = RestRequest.simpleRequest(HttpMethod.DELETE, "sites/{siteId}/group-members/{groupId}", site.getId(), groupId);
|
||||||
|
restWrapper.processEmptyModel(request);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user