Search in sources :

Example 6 with Extension

use of org.eclipse.openvsx.entities.Extension in project openvsx by eclipse.

the class RegistryAPITest method mockForPublish.

private void mockForPublish(String mode) {
    var token = mockAccessToken();
    if (mode.equals("invalid")) {
        token.setActive(false);
    }
    var namespace = new Namespace();
    namespace.setName("foo");
    Mockito.when(repositories.findNamespace("foo")).thenReturn(namespace);
    if (mode.equals("existing")) {
        var extension = new Extension();
        extension.setName("bar");
        var extVersion = new ExtensionVersion();
        extVersion.setExtension(extension);
        extVersion.setVersion("1");
        extVersion.setActive(true);
        Mockito.when(repositories.findExtension("bar", namespace)).thenReturn(extension);
        Mockito.when(repositories.findVersion("1", extension)).thenReturn(extVersion);
    }
    Mockito.when(repositories.countActiveReviews(any(Extension.class))).thenReturn(0l);
    Mockito.when(repositories.findVersions(any(Extension.class))).thenReturn(Streamable.empty());
    Mockito.when(repositories.findActiveVersions(any(Extension.class))).thenReturn(Streamable.empty());
    Mockito.when(repositories.getVersionStrings(any(Extension.class))).thenReturn(Streamable.empty());
    Mockito.when(repositories.getActiveVersionStrings(any(Extension.class))).thenReturn(Streamable.empty());
    Mockito.when(repositories.findFilesByType(any(ExtensionVersion.class), anyCollection())).thenReturn(Streamable.empty());
    if (mode.equals("owner")) {
        var ownerMem = new NamespaceMembership();
        ownerMem.setUser(token.getUser());
        ownerMem.setNamespace(namespace);
        ownerMem.setRole(NamespaceMembership.ROLE_OWNER);
        Mockito.when(repositories.findMemberships(namespace, NamespaceMembership.ROLE_OWNER)).thenReturn(Streamable.of(ownerMem));
        Mockito.when(repositories.countMemberships(namespace, NamespaceMembership.ROLE_OWNER)).thenReturn(1l);
        Mockito.when(repositories.findMembership(token.getUser(), namespace)).thenReturn(ownerMem);
        Mockito.when(repositories.countMemberships(token.getUser(), namespace)).thenReturn(1l);
    } else if (mode.equals("contributor") || mode.equals("sole-contributor") || mode.equals("existing")) {
        var contribMem = new NamespaceMembership();
        contribMem.setUser(token.getUser());
        contribMem.setNamespace(namespace);
        contribMem.setRole(NamespaceMembership.ROLE_CONTRIBUTOR);
        Mockito.when(repositories.findMembership(token.getUser(), namespace)).thenReturn(contribMem);
        Mockito.when(repositories.countMemberships(token.getUser(), namespace)).thenReturn(1l);
        if (mode.equals("contributor")) {
            var otherUser = new UserData();
            otherUser.setLoginName("other_user");
            var ownerMem = new NamespaceMembership();
            ownerMem.setUser(otherUser);
            ownerMem.setNamespace(namespace);
            ownerMem.setRole(NamespaceMembership.ROLE_OWNER);
            Mockito.when(repositories.findMemberships(namespace, NamespaceMembership.ROLE_OWNER)).thenReturn(Streamable.of(ownerMem));
            Mockito.when(repositories.countMemberships(namespace, NamespaceMembership.ROLE_OWNER)).thenReturn(1l);
        } else {
            Mockito.when(repositories.findMemberships(namespace, NamespaceMembership.ROLE_OWNER)).thenReturn(Streamable.empty());
            Mockito.when(repositories.countMemberships(namespace, NamespaceMembership.ROLE_OWNER)).thenReturn(0l);
        }
    } else if (mode.equals("privileged") || mode.equals("unrelated")) {
        var otherUser = new UserData();
        otherUser.setLoginName("other_user");
        var ownerMem = new NamespaceMembership();
        ownerMem.setUser(otherUser);
        ownerMem.setNamespace(namespace);
        ownerMem.setRole(NamespaceMembership.ROLE_OWNER);
        Mockito.when(repositories.findMemberships(namespace, NamespaceMembership.ROLE_OWNER)).thenReturn(Streamable.of(ownerMem));
        Mockito.when(repositories.countMemberships(namespace, NamespaceMembership.ROLE_OWNER)).thenReturn(1l);
        if (mode.equals("privileged")) {
            token.getUser().setRole(UserData.ROLE_PRIVILEGED);
        }
    } else {
        Mockito.when(repositories.findMemberships(namespace, NamespaceMembership.ROLE_OWNER)).thenReturn(Streamable.empty());
        Mockito.when(repositories.countMemberships(namespace, NamespaceMembership.ROLE_OWNER)).thenReturn(0l);
    }
}
Also used : Extension(org.eclipse.openvsx.entities.Extension) UserData(org.eclipse.openvsx.entities.UserData) NamespaceMembership(org.eclipse.openvsx.entities.NamespaceMembership) Namespace(org.eclipse.openvsx.entities.Namespace) ExtensionVersion(org.eclipse.openvsx.entities.ExtensionVersion)

Aggregations

Extension (org.eclipse.openvsx.entities.Extension)6 Collectors (java.util.stream.Collectors)4 ExtensionVersion (org.eclipse.openvsx.entities.ExtensionVersion)4 RepositoryService (org.eclipse.openvsx.repositories.RepositoryService)4 ErrorResultException (org.eclipse.openvsx.util.ErrorResultException)4 Autowired (org.springframework.beans.factory.annotation.Autowired)4 Strings (com.google.common.base.Strings)3 Namespace (org.eclipse.openvsx.entities.Namespace)3 NamespaceMembership (org.eclipse.openvsx.entities.NamespaceMembership)3 ExtensionJson (org.eclipse.openvsx.json.ExtensionJson)3 NamespaceJson (org.eclipse.openvsx.json.NamespaceJson)3 ResultJson (org.eclipse.openvsx.json.ResultJson)3 SearchUtilService (org.eclipse.openvsx.search.SearchUtilService)3 NotFoundException (org.eclipse.openvsx.util.NotFoundException)3 SemanticVersion (org.eclipse.openvsx.util.SemanticVersion)3 TimeUtil (org.eclipse.openvsx.util.TimeUtil)3 UrlUtil (org.eclipse.openvsx.util.UrlUtil)3 HttpStatus (org.springframework.http.HttpStatus)3 ResponseEntity (org.springframework.http.ResponseEntity)3 ResponseStatusException (org.springframework.web.server.ResponseStatusException)3