[copr] master: Automatic commit of package [copr-keygen] release [1.53-1]. (a345c78)
by vgologuz@fedoraproject.org
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit a345c78deff9ea3657cf4c1de2db1d11ada74243
Author: Valentin Gologuzov <vgologuz(a)redhat.com>
Date: Wed Sep 17 15:39:11 2014 +0200
Automatic commit of package [copr-keygen] release [1.53-1].
>---------------------------------------------------------------
keygen/copr-keygen.spec | 5 ++++-
rel-eng/packages/copr-keygen | 1 +
2 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/keygen/copr-keygen.spec b/keygen/copr-keygen.spec
index 9c5b356..28aace3 100644
--- a/keygen/copr-keygen.spec
+++ b/keygen/copr-keygen.spec
@@ -5,7 +5,7 @@
%endif
Name: copr-keygen
-Version: 1.52
+Version: 1.53
Release: 1%{?dist}
Summary: Part of Copr build system. Aux service that generate keys for sign.
@@ -149,6 +149,9 @@ service httpd condrestart
%changelog
+* Wed Sep 17 2014 Valentin Gologuzov <vgologuz(a)redhat.com> 1.53-1
+- new package [copr-keygen] built with tito
+
* Wed Aug 27 2014 Miroslav Suchý <msuchy(a)redhat.com> 1.44-1
- fix spec parsing on arm
- 'manage.py update_indexes' and search fix
diff --git a/rel-eng/packages/copr-keygen b/rel-eng/packages/copr-keygen
new file mode 100644
index 0000000..e3929a6
--- /dev/null
+++ b/rel-eng/packages/copr-keygen
@@ -0,0 +1 @@
+1.53-1 keygen/
9 years, 7 months
[copr] master: [keygen] new component for copr: gpg key generation for package sign [backend] rpm signature (26cb5be)
by vgologuz@fedoraproject.org
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit 26cb5bef3e6a048adc777d673559b0cc0fe0d9f7
Author: Valentin Gologuzov <vgologuz(a)redhat.com>
Date: Wed Sep 17 15:14:31 2014 +0200
[keygen] new component for copr: gpg key generation for package sign
[backend] rpm signature
>---------------------------------------------------------------
Diff suppressed because of size. To see it, use:
git diff --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol ^26cb5bef3e6a048adc777d673559b0cc0fe0d9f7~1 26cb5bef3e6a048adc777d673559b0cc0fe0d9f7
9 years, 7 months
[copr] master: [java] Implement project detail API call (5337be1)
by Mikolaj Izdebski
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit 5337be1894c1de9c985ee410059cd680f03cb19e
Author: Mikolaj Izdebski <mizdebsk(a)redhat.com>
Date: Tue Sep 16 08:32:54 2014 +0200
[java] Implement project detail API call
>---------------------------------------------------------------
.../org/fedoraproject/copr/client/CoprSession.java | 3 +
.../client/{ProjectId.java => DetailRequest.java} | 12 ++-
...PlaygroundListResult.java => DetailResult.java} | 13 ++-
.../fedoraproject/copr/client/YumRepository.java | 38 ++++++
.../copr/client/impl/DefaultCoprSession.java | 10 ++
.../copr/client/impl/DefaultDetailResult.java | 80 +++++++++++++
.../copr/client/impl/DetailCommand.java | 77 +++++++++++++
.../fedoraproject/copr/client/impl/DetailTest.java | 121 ++++++++++++++++++++
java/copr-impl/src/test/resources/detail1.json | 15 +++
9 files changed, 366 insertions(+), 3 deletions(-)
diff --git a/java/copr-api/src/main/java/org/fedoraproject/copr/client/CoprSession.java b/java/copr-api/src/main/java/org/fedoraproject/copr/client/CoprSession.java
index 83bfbe2..3346a3d 100644
--- a/java/copr-api/src/main/java/org/fedoraproject/copr/client/CoprSession.java
+++ b/java/copr-api/src/main/java/org/fedoraproject/copr/client/CoprSession.java
@@ -27,6 +27,9 @@ public interface CoprSession
PlaygroundListResult playgroundList( PlaygroundListRequest request )
throws CoprException;
+ DetailResult detail( DetailRequest request )
+ throws CoprException;
+
BuildResult build( BuildRequest request )
throws CoprException;
diff --git a/java/copr-api/src/main/java/org/fedoraproject/copr/client/ProjectId.java b/java/copr-api/src/main/java/org/fedoraproject/copr/client/DetailRequest.java
similarity index 83%
copy from java/copr-api/src/main/java/org/fedoraproject/copr/client/ProjectId.java
copy to java/copr-api/src/main/java/org/fedoraproject/copr/client/DetailRequest.java
index a7d8a35..652e28a 100644
--- a/java/copr-api/src/main/java/org/fedoraproject/copr/client/ProjectId.java
+++ b/java/copr-api/src/main/java/org/fedoraproject/copr/client/DetailRequest.java
@@ -18,12 +18,22 @@ package org.fedoraproject.copr.client;
/**
* @author Mikolaj Izdebski
*/
-public class ProjectId
+public class DetailRequest
{
private String userName;
private String projectName;
+ public DetailRequest()
+ {
+ }
+
+ public DetailRequest( String userName, String projectName )
+ {
+ this.userName = userName;
+ this.projectName = projectName;
+ }
+
public String getUserName()
{
return userName;
diff --git a/java/copr-api/src/main/java/org/fedoraproject/copr/client/PlaygroundListResult.java b/java/copr-api/src/main/java/org/fedoraproject/copr/client/DetailResult.java
similarity index 69%
copy from java/copr-api/src/main/java/org/fedoraproject/copr/client/PlaygroundListResult.java
copy to java/copr-api/src/main/java/org/fedoraproject/copr/client/DetailResult.java
index 630214d..22cfecd 100644
--- a/java/copr-api/src/main/java/org/fedoraproject/copr/client/PlaygroundListResult.java
+++ b/java/copr-api/src/main/java/org/fedoraproject/copr/client/DetailResult.java
@@ -15,12 +15,21 @@
*/
package org.fedoraproject.copr.client;
+import java.util.Date;
import java.util.List;
/**
* @author Mikolaj Izdebski
*/
-public interface PlaygroundListResult
+public interface DetailResult
{
- List<ProjectId> getProjects();
+ public abstract Date getLastModified();
+
+ public abstract List<YumRepository> getYumRepositories();
+
+ public abstract String getAdditionalRepos();
+
+ public abstract String getInstructions();
+
+ public abstract String getDescription();
}
diff --git a/java/copr-api/src/main/java/org/fedoraproject/copr/client/YumRepository.java b/java/copr-api/src/main/java/org/fedoraproject/copr/client/YumRepository.java
new file mode 100644
index 0000000..44aacf3
--- /dev/null
+++ b/java/copr-api/src/main/java/org/fedoraproject/copr/client/YumRepository.java
@@ -0,0 +1,38 @@
+package org.fedoraproject.copr.client;
+
+public class YumRepository
+{
+ private String name;
+
+ private String baseUrl;
+
+ public YumRepository()
+ {
+ }
+
+ public YumRepository( String name, String baseUrl )
+ {
+ this.name = name;
+ this.baseUrl = baseUrl;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getBaseUrl()
+ {
+ return baseUrl;
+ }
+
+ public void setBaseUrl( String baseUrl )
+ {
+ this.baseUrl = baseUrl;
+ }
+}
diff --git a/java/copr-impl/src/main/java/org/fedoraproject/copr/client/impl/DefaultCoprSession.java b/java/copr-impl/src/main/java/org/fedoraproject/copr/client/impl/DefaultCoprSession.java
index 4437863..59ec039 100644
--- a/java/copr-impl/src/main/java/org/fedoraproject/copr/client/impl/DefaultCoprSession.java
+++ b/java/copr-impl/src/main/java/org/fedoraproject/copr/client/impl/DefaultCoprSession.java
@@ -22,6 +22,8 @@ import org.fedoraproject.copr.client.BuildResult;
import org.fedoraproject.copr.client.CoprConfiguration;
import org.fedoraproject.copr.client.CoprException;
import org.fedoraproject.copr.client.CoprSession;
+import org.fedoraproject.copr.client.DetailRequest;
+import org.fedoraproject.copr.client.DetailResult;
import org.fedoraproject.copr.client.ListRequest;
import org.fedoraproject.copr.client.ListResult;
import org.fedoraproject.copr.client.PlaygroundListRequest;
@@ -76,6 +78,14 @@ public class DefaultCoprSession
}
@Override
+ public DetailResult detail( DetailRequest request )
+ throws CoprException
+ {
+ DetailCommand command = new DetailCommand( request );
+ return command.execute( this );
+ }
+
+ @Override
public BuildResult build( BuildRequest request )
throws CoprException
{
diff --git a/java/copr-impl/src/main/java/org/fedoraproject/copr/client/impl/DefaultDetailResult.java b/java/copr-impl/src/main/java/org/fedoraproject/copr/client/impl/DefaultDetailResult.java
new file mode 100644
index 0000000..7aa4498
--- /dev/null
+++ b/java/copr-impl/src/main/java/org/fedoraproject/copr/client/impl/DefaultDetailResult.java
@@ -0,0 +1,80 @@
+/*-
+ * Copyright (c) 2014 Red Hat, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.fedoraproject.copr.client.impl;
+
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+
+import org.fedoraproject.copr.client.DetailResult;
+import org.fedoraproject.copr.client.YumRepository;
+
+/**
+ * @author Mikolaj Izdebski
+ */
+public class DefaultDetailResult
+ implements DetailResult
+{
+ private final String description;
+
+ private final String instructions;
+
+ private final String additionalRepos;
+
+ private final List<YumRepository> yumRepositories;
+
+ private final Date lastModified;
+
+ public DefaultDetailResult( String description, String instructions, String additionalRepos,
+ List<YumRepository> yumRepositories, long lastModified )
+ {
+ this.description = description;
+ this.instructions = instructions;
+ this.additionalRepos = additionalRepos;
+ this.yumRepositories = Collections.unmodifiableList( yumRepositories );
+ this.lastModified = new Date( lastModified );
+ }
+
+ @Override
+ public String getDescription()
+ {
+ return description;
+ }
+
+ @Override
+ public String getInstructions()
+ {
+ return instructions;
+ }
+
+ @Override
+ public String getAdditionalRepos()
+ {
+ return additionalRepos;
+ }
+
+ @Override
+ public List<YumRepository> getYumRepositories()
+ {
+ return yumRepositories;
+ }
+
+ @Override
+ public Date getLastModified()
+ {
+ return lastModified;
+ }
+}
diff --git a/java/copr-impl/src/main/java/org/fedoraproject/copr/client/impl/DetailCommand.java b/java/copr-impl/src/main/java/org/fedoraproject/copr/client/impl/DetailCommand.java
new file mode 100644
index 0000000..73b0a7f
--- /dev/null
+++ b/java/copr-impl/src/main/java/org/fedoraproject/copr/client/impl/DetailCommand.java
@@ -0,0 +1,77 @@
+/*-
+ * Copyright (c) 2014 Red Hat, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.fedoraproject.copr.client.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import org.fedoraproject.copr.client.DetailRequest;
+import org.fedoraproject.copr.client.DetailResult;
+import org.fedoraproject.copr.client.YumRepository;
+
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+
+/**
+ * @author Mikolaj Izdebski
+ */
+public class DetailCommand
+ extends RpcCommand<DetailResult>
+{
+ private final DetailRequest request;
+
+ public DetailCommand( DetailRequest request )
+ {
+ this.request = request;
+ }
+
+ @Override
+ protected String getCommandUrl()
+ {
+ return "/api/coprs/" + request.getUserName() + "/" + request.getProjectName() + "/detail/";
+ }
+
+ @Override
+ protected Map<String, String> getExtraArguments()
+ {
+ return null;
+ }
+
+ @Override
+ protected DetailResult parseResponse( JsonObject response )
+ {
+ JsonObject detail = response.get( "detail" ).getAsJsonObject();
+
+ String additionalRepos = detail.get( "additional_repos" ).getAsString();
+ String description = detail.get( "description" ).getAsString();
+ String instructions = detail.get( "instructions" ).getAsString();
+ long lastModified = detail.get( "last_modified" ).getAsLong();
+
+ JsonObject repos = detail.get( "yum_repos" ).getAsJsonObject();
+ List<YumRepository> yumRepos = new ArrayList<>();
+ for ( Entry<String, JsonElement> entry : repos.entrySet() )
+ {
+ String name = entry.getKey();
+ String baseUrl = entry.getValue().getAsString();
+ YumRepository repo = new YumRepository( name, baseUrl );
+ yumRepos.add( repo );
+ }
+
+ return new DefaultDetailResult( description, instructions, additionalRepos, yumRepos, lastModified );
+ }
+}
diff --git a/java/copr-impl/src/test/java/org/fedoraproject/copr/client/impl/DetailTest.java b/java/copr-impl/src/test/java/org/fedoraproject/copr/client/impl/DetailTest.java
new file mode 100644
index 0000000..a669e90
--- /dev/null
+++ b/java/copr-impl/src/test/java/org/fedoraproject/copr/client/impl/DetailTest.java
@@ -0,0 +1,121 @@
+/*-
+ * Copyright (c) 2014 Red Hat, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.fedoraproject.copr.client.impl;
+
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.replay;
+import static org.easymock.EasyMock.verify;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.util.Date;
+import java.util.Iterator;
+
+import org.easymock.EasyMockRunner;
+import org.fedoraproject.copr.client.CoprException;
+import org.fedoraproject.copr.client.DetailRequest;
+import org.fedoraproject.copr.client.DetailResult;
+import org.fedoraproject.copr.client.YumRepository;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith( EasyMockRunner.class )
+public class DetailTest
+ extends RpcTest
+{
+ @Test
+ public void testApiFailure()
+ throws Exception
+ {
+ expect( mock.get( "/api/coprs/mizdebsk/override/detail/" ) ).andReturn( "fail" );
+ replay( mock );
+
+ DetailRequest request = new DetailRequest( "mizdebsk", "override" );
+
+ try
+ {
+ session.detail( request );
+ fail();
+ }
+ catch ( CoprException e )
+ {
+ verify( mock );
+ assertEquals( 1, server.getAcceptedConnectionCount() );
+ }
+ }
+
+ @Test
+ public void test404()
+ throws Exception
+ {
+ expect( mock.get( "/api/coprs/mizdebsk/override/detail/" ) ).andReturn( null );
+ replay( mock );
+
+ DetailRequest request = new DetailRequest( "mizdebsk", "override" );
+
+ try
+ {
+ session.detail( request );
+ fail();
+ }
+ catch ( CoprException e )
+ {
+ verify( mock );
+ assertEquals( 1, server.getAcceptedConnectionCount() );
+
+ assertTrue( e.getMessage().contains( "404 Not Found" ) );
+ }
+ }
+
+ @Test
+ public void testSingleRepo()
+ throws Exception
+ {
+ expect( mock.get( "/api/coprs/mizdebsk/override/detail/" ) ).andReturn( "detail1" );
+ replay( mock );
+
+ DetailRequest request = new DetailRequest( "mizdebsk", "override" );
+ DetailResult result = session.detail( request );
+
+ verify( mock );
+ assertEquals( 1, server.getAcceptedConnectionCount() );
+
+ assertNotNull( result );
+ assertEquals( "Fixed or tweaked versions of some Fedora packages, for personal use.", result.getDescription() );
+ assertEquals( "Nothing complicated, really...", result.getInstructions() );
+ assertEquals( "", result.getAdditionalRepos() );
+ assertEquals( new Date( 1407916203 ), result.getLastModified() );
+
+ Iterator<YumRepository> it = result.getYumRepositories().iterator();
+ assertTrue( it.hasNext() );
+ YumRepository repo1 = it.next();
+ assertEquals( "fedora-20-x86_64", repo1.getName() );
+ assertEquals( "http://copr-be.cloud.fedoraproject.org/results/mizdebsk/override/fedora-2...",
+ repo1.getBaseUrl() );
+ YumRepository repo2 = it.next();
+ assertEquals( "fedora-21-x86_64", repo2.getName() );
+ assertEquals( "http://copr-be.cloud.fedoraproject.org/results/mizdebsk/override/fedora-2...",
+ repo2.getBaseUrl() );
+ YumRepository repo3 = it.next();
+ assertEquals( "fedora-rawhide-x86_64", repo3.getName() );
+ assertEquals( "http://copr-be.cloud.fedoraproject.org/results/mizdebsk/override/fedora-r...",
+ repo3.getBaseUrl() );
+ assertFalse( it.hasNext() );
+ }
+}
diff --git a/java/copr-impl/src/test/resources/detail1.json b/java/copr-impl/src/test/resources/detail1.json
new file mode 100644
index 0000000..1e8f3a5
--- /dev/null
+++ b/java/copr-impl/src/test/resources/detail1.json
@@ -0,0 +1,15 @@
+{
+ "detail": {
+ "additional_repos": "",
+ "description": "Fixed or tweaked versions of some Fedora packages, for personal use.",
+ "instructions": "Nothing complicated, really...",
+ "last_modified": 1407916203,
+ "name": "override",
+ "yum_repos": {
+ "fedora-20-x86_64": "http://copr-be.cloud.fedoraproject.org/results/mizdebsk/override/fedora-2...",
+ "fedora-21-x86_64": "http://copr-be.cloud.fedoraproject.org/results/mizdebsk/override/fedora-2...",
+ "fedora-rawhide-x86_64": "http://copr-be.cloud.fedoraproject.org/results/mizdebsk/override/fedora-r..."
+ }
+ },
+ "output": "ok"
+}
9 years, 7 months
[copr] master: [java] Add initial spec file (084fc98)
by Mikolaj Izdebski
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit 084fc98004b0a1922caba16cdf9cdeac7c96f7b7
Author: Mikolaj Izdebski <mizdebsk(a)redhat.com>
Date: Tue Sep 16 09:23:07 2014 +0200
[java] Add initial spec file
>---------------------------------------------------------------
java/copr-java.spec | 45 +++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 45 insertions(+), 0 deletions(-)
diff --git a/java/copr-java.spec b/java/copr-java.spec
new file mode 100644
index 0000000..eb0b50e
--- /dev/null
+++ b/java/copr-java.spec
@@ -0,0 +1,45 @@
+Name: copr-java
+Version: 0.2
+Release: 1%{?dist}
+Summary: COPR Java client
+License: ASL 2.0
+URL: https://fedorahosted.org/copr/
+
+# Source is created by
+# git clone https://git.fedorahosted.org/git/copr.git
+# cd copr/java
+# tito build --tgz
+Source0: %{name}-%{version}.tar.gz
+
+BuildRequires: maven-local
+
+%description
+COPR is lightweight build system. It allows you to create new project in WebUI,
+and submit new builds and COPR will create yum repository from latest builds.
+
+This package contains Java client library.
+
+%package javadoc
+Summary: API documentation for %{name}
+
+%description javadoc
+This package provides %{summary}.
+
+%prep
+%setup -q
+
+%build
+%mvn_build
+
+%install
+%mvn_install
+
+%files -f .mfiles
+%doc LICENSE NOTICE
+
+%files javadoc -f .mfiles-javadoc
+%doc LICENSE NOTICE
+
+%changelog
+* Tue Sep 16 2014 Mikolaj Izdebski <mizdebsk(a)redhat.com>
+- Initial packaging
9 years, 7 months
[copr] master: [java] Implement playground list API call (5b2a72e)
by Mikolaj Izdebski
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit 5b2a72e17cc35a2b3d0787ea607bce3321da79f3
Author: Mikolaj Izdebski <mizdebsk(a)redhat.com>
Date: Tue Sep 16 08:00:39 2014 +0200
[java] Implement playground list API call
>---------------------------------------------------------------
.../org/fedoraproject/copr/client/CoprSession.java | 3 +
...BuildResult.java => PlaygroundListRequest.java} | 8 +-
.../{ListResult.java => PlaygroundListResult.java} | 2 +-
.../copr/client/impl/DefaultCoprSession.java | 10 ++
...esult.java => DefaultPlaygroundListResult.java} | 8 +-
...ListCommand.java => PlaygroundListCommand.java} | 23 ++---
.../copr/client/impl/PlaygroundListTest.java | 93 ++++++++++++++++++++
java/copr-impl/src/test/resources/playground.json | 41 +++++++++
8 files changed, 166 insertions(+), 22 deletions(-)
diff --git a/java/copr-api/src/main/java/org/fedoraproject/copr/client/CoprSession.java b/java/copr-api/src/main/java/org/fedoraproject/copr/client/CoprSession.java
index 91e41c7..83bfbe2 100644
--- a/java/copr-api/src/main/java/org/fedoraproject/copr/client/CoprSession.java
+++ b/java/copr-api/src/main/java/org/fedoraproject/copr/client/CoprSession.java
@@ -24,6 +24,9 @@ public interface CoprSession
ListResult list( ListRequest request )
throws CoprException;
+ PlaygroundListResult playgroundList( PlaygroundListRequest request )
+ throws CoprException;
+
BuildResult build( BuildRequest request )
throws CoprException;
diff --git a/java/copr-api/src/main/java/org/fedoraproject/copr/client/BuildResult.java b/java/copr-api/src/main/java/org/fedoraproject/copr/client/PlaygroundListRequest.java
similarity index 89%
copy from java/copr-api/src/main/java/org/fedoraproject/copr/client/BuildResult.java
copy to java/copr-api/src/main/java/org/fedoraproject/copr/client/PlaygroundListRequest.java
index 5efa6e8..f0234f7 100644
--- a/java/copr-api/src/main/java/org/fedoraproject/copr/client/BuildResult.java
+++ b/java/copr-api/src/main/java/org/fedoraproject/copr/client/PlaygroundListRequest.java
@@ -18,9 +18,9 @@ package org.fedoraproject.copr.client;
/**
* @author Mikolaj Izdebski
*/
-public interface BuildResult
+public class PlaygroundListRequest
{
- String getMessage();
-
- long getBuildId();
+ public PlaygroundListRequest()
+ {
+ }
}
diff --git a/java/copr-api/src/main/java/org/fedoraproject/copr/client/ListResult.java b/java/copr-api/src/main/java/org/fedoraproject/copr/client/PlaygroundListResult.java
similarity index 95%
copy from java/copr-api/src/main/java/org/fedoraproject/copr/client/ListResult.java
copy to java/copr-api/src/main/java/org/fedoraproject/copr/client/PlaygroundListResult.java
index cb1c4d2..630214d 100644
--- a/java/copr-api/src/main/java/org/fedoraproject/copr/client/ListResult.java
+++ b/java/copr-api/src/main/java/org/fedoraproject/copr/client/PlaygroundListResult.java
@@ -20,7 +20,7 @@ import java.util.List;
/**
* @author Mikolaj Izdebski
*/
-public interface ListResult
+public interface PlaygroundListResult
{
List<ProjectId> getProjects();
}
diff --git a/java/copr-impl/src/main/java/org/fedoraproject/copr/client/impl/DefaultCoprSession.java b/java/copr-impl/src/main/java/org/fedoraproject/copr/client/impl/DefaultCoprSession.java
index 6a6bb53..4437863 100644
--- a/java/copr-impl/src/main/java/org/fedoraproject/copr/client/impl/DefaultCoprSession.java
+++ b/java/copr-impl/src/main/java/org/fedoraproject/copr/client/impl/DefaultCoprSession.java
@@ -24,6 +24,8 @@ import org.fedoraproject.copr.client.CoprException;
import org.fedoraproject.copr.client.CoprSession;
import org.fedoraproject.copr.client.ListRequest;
import org.fedoraproject.copr.client.ListResult;
+import org.fedoraproject.copr.client.PlaygroundListRequest;
+import org.fedoraproject.copr.client.PlaygroundListResult;
/**
* @author Mikolaj Izdebski
@@ -66,6 +68,14 @@ public class DefaultCoprSession
}
@Override
+ public PlaygroundListResult playgroundList( PlaygroundListRequest request )
+ throws CoprException
+ {
+ PlaygroundListCommand command = new PlaygroundListCommand( request );
+ return command.execute( this );
+ }
+
+ @Override
public BuildResult build( BuildRequest request )
throws CoprException
{
diff --git a/java/copr-impl/src/main/java/org/fedoraproject/copr/client/impl/DefaultListResult.java b/java/copr-impl/src/main/java/org/fedoraproject/copr/client/impl/DefaultPlaygroundListResult.java
similarity index 83%
copy from java/copr-impl/src/main/java/org/fedoraproject/copr/client/impl/DefaultListResult.java
copy to java/copr-impl/src/main/java/org/fedoraproject/copr/client/impl/DefaultPlaygroundListResult.java
index 1c4f64b..54277ce 100644
--- a/java/copr-impl/src/main/java/org/fedoraproject/copr/client/impl/DefaultListResult.java
+++ b/java/copr-impl/src/main/java/org/fedoraproject/copr/client/impl/DefaultPlaygroundListResult.java
@@ -18,18 +18,18 @@ package org.fedoraproject.copr.client.impl;
import java.util.Collections;
import java.util.List;
-import org.fedoraproject.copr.client.ListResult;
+import org.fedoraproject.copr.client.PlaygroundListResult;
import org.fedoraproject.copr.client.ProjectId;
/**
* @author Mikolaj Izdebski
*/
-public class DefaultListResult
- implements ListResult
+public class DefaultPlaygroundListResult
+ implements PlaygroundListResult
{
private final List<ProjectId> projects;
- public DefaultListResult( List<ProjectId> projects )
+ public DefaultPlaygroundListResult( List<ProjectId> projects )
{
this.projects = Collections.unmodifiableList( projects );
}
diff --git a/java/copr-impl/src/main/java/org/fedoraproject/copr/client/impl/ListCommand.java b/java/copr-impl/src/main/java/org/fedoraproject/copr/client/impl/PlaygroundListCommand.java
similarity index 71%
copy from java/copr-impl/src/main/java/org/fedoraproject/copr/client/impl/ListCommand.java
copy to java/copr-impl/src/main/java/org/fedoraproject/copr/client/impl/PlaygroundListCommand.java
index 0284869..8355058 100644
--- a/java/copr-impl/src/main/java/org/fedoraproject/copr/client/impl/ListCommand.java
+++ b/java/copr-impl/src/main/java/org/fedoraproject/copr/client/impl/PlaygroundListCommand.java
@@ -19,8 +19,8 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
-import org.fedoraproject.copr.client.ListRequest;
-import org.fedoraproject.copr.client.ListResult;
+import org.fedoraproject.copr.client.PlaygroundListRequest;
+import org.fedoraproject.copr.client.PlaygroundListResult;
import org.fedoraproject.copr.client.ProjectId;
import com.google.gson.JsonArray;
@@ -30,20 +30,17 @@ import com.google.gson.JsonObject;
/**
* @author Mikolaj Izdebski
*/
-public class ListCommand
- extends RpcCommand<ListResult>
+public class PlaygroundListCommand
+ extends RpcCommand<PlaygroundListResult>
{
- private final ListRequest request;
-
- public ListCommand( ListRequest request )
+ public PlaygroundListCommand( PlaygroundListRequest request )
{
- this.request = request;
}
@Override
protected String getCommandUrl()
{
- return "/api/coprs/" + request.getUserName() + "/";
+ return "/api/playground/list/";
}
@Override
@@ -53,7 +50,7 @@ public class ListCommand
}
@Override
- protected ListResult parseResponse( JsonObject response )
+ protected PlaygroundListResult parseResponse( JsonObject response )
{
List<ProjectId> projects = new ArrayList<>();
@@ -63,12 +60,12 @@ public class ListCommand
JsonObject repo = element.getAsJsonObject();
ProjectId id = new ProjectId();
- id.setUserName( request.getUserName() );
- id.setProjectName( repo.get( "name" ).getAsString() );
+ id.setUserName( repo.get( "username" ).getAsString() );
+ id.setProjectName( repo.get( "coprname" ).getAsString() );
projects.add( id );
}
- return new DefaultListResult( projects );
+ return new DefaultPlaygroundListResult( projects );
}
}
diff --git a/java/copr-impl/src/test/java/org/fedoraproject/copr/client/impl/PlaygroundListTest.java b/java/copr-impl/src/test/java/org/fedoraproject/copr/client/impl/PlaygroundListTest.java
new file mode 100644
index 0000000..55923c7
--- /dev/null
+++ b/java/copr-impl/src/test/java/org/fedoraproject/copr/client/impl/PlaygroundListTest.java
@@ -0,0 +1,93 @@
+/*-
+ * Copyright (c) 2014 Red Hat, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.fedoraproject.copr.client.impl;
+
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.replay;
+import static org.easymock.EasyMock.verify;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.easymock.EasyMockRunner;
+import org.fedoraproject.copr.client.CoprException;
+import org.fedoraproject.copr.client.PlaygroundListRequest;
+import org.fedoraproject.copr.client.PlaygroundListResult;
+import org.fedoraproject.copr.client.ProjectId;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith( EasyMockRunner.class )
+public class PlaygroundListTest
+ extends RpcTest
+{
+ @Test
+ public void testApiFailure()
+ throws Exception
+ {
+ expect( mock.get( "/api/playground/list/" ) ).andReturn( "fail" );
+ replay( mock );
+
+ PlaygroundListRequest request = new PlaygroundListRequest();
+
+ try
+ {
+ session.playgroundList( request );
+ fail();
+ }
+ catch ( CoprException e )
+ {
+ verify( mock );
+ assertEquals( 1, server.getAcceptedConnectionCount() );
+ }
+ }
+
+ @Test
+ public void testPlaygroundList()
+ throws Exception
+ {
+ expect( mock.get( "/api/playground/list/" ) ).andReturn( "playground" );
+ replay( mock );
+
+ PlaygroundListRequest request = new PlaygroundListRequest();
+ PlaygroundListResult result = session.playgroundList( request );
+
+ verify( mock );
+ assertEquals( 1, server.getAcceptedConnectionCount() );
+
+ assertNotNull( result );
+ List<ProjectId> projects = result.getProjects();
+
+ assertNotNull( projects );
+ assertEquals( 3, projects.size() );
+ Iterator<ProjectId> projectIterator = projects.iterator();
+
+ ProjectId project1 = projectIterator.next();
+ assertEquals( "sochotni", project1.getUserName() );
+ assertEquals( "fedwatch", project1.getProjectName() );
+
+ ProjectId project2 = projectIterator.next();
+ assertEquals( "bkabrda", project2.getUserName() );
+ assertEquals( "python-3.4", project2.getProjectName() );
+
+ ProjectId project3 = projectIterator.next();
+ assertEquals( "james", project3.getUserName() );
+ assertEquals( "yum-rawhide", project3.getProjectName() );
+ }
+}
diff --git a/java/copr-impl/src/test/resources/playground.json b/java/copr-impl/src/test/resources/playground.json
new file mode 100644
index 0000000..cc94d43
--- /dev/null
+++ b/java/copr-impl/src/test/resources/playground.json
@@ -0,0 +1,41 @@
+{
+ "output": "ok",
+ "repos": [
+ {
+ "chroots": [
+ "epel-6-i386",
+ "epel-6-x86_64",
+ "fedora-rawhide-x86_64",
+ "fedora-rawhide-i386",
+ "fedora-20-x86_64",
+ "fedora-20-i386",
+ "epel-7-x86_64"
+ ],
+ "coprname": "fedwatch",
+ "username": "sochotni"
+ },
+ {
+ "chroots": [
+ "fedora-rawhide-x86_64",
+ "fedora-rawhide-i386"
+ ],
+ "coprname": "python-3.4",
+ "username": "bkabrda"
+ },
+ {
+ "chroots": [
+ "fedora-19-i386",
+ "epel-6-i386",
+ "fedora-20-i386",
+ "fedora-rawhide-i386",
+ "fedora-19-x86_64",
+ "epel-6-x86_64",
+ "fedora-rawhide-x86_64",
+ "fedora-20-x86_64",
+ "epel-7-x86_64"
+ ],
+ "coprname": "yum-rawhide",
+ "username": "james"
+ }
+ ]
+}
9 years, 7 months
[copr] master: revert f0e5c211f86cc3691fda8d4412c21ef6338a339f (c68920b)
by Miroslav Suchý
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit c68920ba1172c14392f572dfed057caf6b2ba6b0
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Tue Sep 16 08:42:28 2014 +0200
revert f0e5c211f86cc3691fda8d4412c21ef6338a339f
>---------------------------------------------------------------
frontend/coprs_frontend/coprs/helpers.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/frontend/coprs_frontend/coprs/helpers.py b/frontend/coprs_frontend/coprs/helpers.py
index d6eed2c..653f4c5 100644
--- a/frontend/coprs_frontend/coprs/helpers.py
+++ b/frontend/coprs_frontend/coprs/helpers.py
@@ -155,7 +155,7 @@ def render_repo(copr, mock_chroot, url):
url, "{0}-{1}-{2}/".format(mock_chroot.os_release,
mock_chroot.os_version, "$basearch"))
- #url = url.replace("http://", "https://")
+ url = url.replace("http://", "https://")
return flask.render_template("coprs/copr.repo", copr=copr, url=url)
9 years, 7 months
[copr] master: broadcast both submitter and owner to fedmsg (53bd2af)
by Miroslav Suchý
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit 53bd2af1321dc239af3d791f0e47ce22fa86d793
Author: Ralph Bean <rbean(a)redhat.com>
Date: Wed Aug 27 16:01:01 2014 -0700
broadcast both submitter and owner to fedmsg
Back in commit 1a4473e7a4dc1adbff5868ae0395625bef78d17a, a change was
introduced that changed the 'user' field in fedmsg represent the person who
kicked off a build instead of the person who owned the particular copr.
This broke code in other fedmsg consumers that tried to build links from
that user field to https://copr.fedoraproject.org/$USER/$COPR
This change re-introduces the copr owner's username to the message.
>---------------------------------------------------------------
backend/backend/dispatcher.py | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/backend/backend/dispatcher.py b/backend/backend/dispatcher.py
index 52777e9..45429d5 100644
--- a/backend/backend/dispatcher.py
+++ b/backend/backend/dispatcher.py
@@ -191,6 +191,7 @@ class Worker(multiprocessing.Process):
" build:{build} ip:{ip} pid:{pid}"
content = dict(user=job.submitter, copr=job.project_name,
+ owner=job.project_owner,
build=job.build_id, ip=ip, pid=self.pid)
self.event("build.start", template, content)
@@ -198,6 +199,7 @@ class Worker(multiprocessing.Process):
"copr:{copr} build:{build} ip:{ip} pid:{pid}"
content = dict(chroot=job.chroot, user=job.submitter,
+ owner=job.project_owner,
copr=job.project_name, build=job.build_id,
ip=ip, pid=self.pid)
@@ -216,6 +218,7 @@ class Worker(multiprocessing.Process):
" ip:{ip} pid:{pid} status:{status}"
content = dict(user=job.submitter, copr=job.project_name,
+ owner=job.project_owner,
build=job.build_id, ip=ip, pid=self.pid,
status=job.status, chroot=job.chroot)
self.event("build.end", template, content)
9 years, 7 months
[copr] master: Automatic commit of package [python-copr] release [1.50-1]. (e451a2a)
by vgologuz@fedoraproject.org
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit e451a2ae90ac51f323907b45af8ad916c917bec0
Author: Valentin Gologuzov <vgologuz(a)redhat.com>
Date: Mon Sep 8 10:14:10 2014 +0200
Automatic commit of package [python-copr] release [1.50-1].
>---------------------------------------------------------------
python/python-copr.spec | 5 ++++-
rel-eng/packages/python-copr | 2 +-
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/python/python-copr.spec b/python/python-copr.spec
index e1ed076..10a540a 100644
--- a/python/python-copr.spec
+++ b/python/python-copr.spec
@@ -10,7 +10,7 @@
%endif
Name: python-copr
-Version: 1.49
+Version: 1.50
Release: 1%{?dist}
Summary: Python interface for Copr
@@ -165,6 +165,9 @@ popd
%endif
%changelog
+* Mon Sep 08 2014 Valentin Gologuzov <vgologuz(a)redhat.com> 1.50-1
+- [python-copr] fix: we need to support python 2.6 due to epel-6
+
* Fri Sep 05 2014 Valentin Gologuzov <vgologuz(a)redhat.com> 1.49-1
- [python-copr]
- bugfix in cancel_build - more docsrtings
diff --git a/rel-eng/packages/python-copr b/rel-eng/packages/python-copr
index f84821d..710f990 100644
--- a/rel-eng/packages/python-copr
+++ b/rel-eng/packages/python-copr
@@ -1 +1 @@
-1.49-1 python/
+1.50-1 python/
9 years, 8 months
[copr] master: [python-copr] fix: we need to support python 2.6 due to epel-6 (bb699de)
by vgologuz@fedoraproject.org
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit bb699decaccb5da14807b9eead235cb391966b17
Author: Valentin Gologuzov <vgologuz(a)redhat.com>
Date: Mon Sep 8 09:29:18 2014 +0200
[python-copr] fix: we need to support python 2.6 due to epel-6
>---------------------------------------------------------------
python/copr/client/parsers.py | 12 ++++++------
python/docs/index.rst | 2 +-
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/python/copr/client/parsers.py b/python/copr/client/parsers.py
index 84504a9..159653b 100644
--- a/python/copr/client/parsers.py
+++ b/python/copr/client/parsers.py
@@ -23,7 +23,7 @@ class IParser(object):
def fabric_simple_fields_parser(fields, name=None):
class FieldsParser(IParser):
- provided_fields = fields
+ provided_fields = set(fields)
@staticmethod
def parse(data, field, **kwargs):
@@ -48,8 +48,8 @@ CommonMsgErrorOutParser = fabric_simple_fields_parser(
class ProjectDetailsFieldsParser(IParser):
- provided_fields = {"description", "instructions", "last_modified",
- "name"}
+ provided_fields = set(["description", "instructions", "last_modified",
+ "name"])
@staticmethod
def parse(data, field, **kwargs):
@@ -67,7 +67,7 @@ class ProjectDetailsFieldsParser(IParser):
class ProjectChrootsParser(IParser):
- provided_fields = {"chroots"}
+ provided_fields = set(["chroots"])
@staticmethod
def parse(data, field, client=None, **kwargs):
@@ -92,7 +92,7 @@ class ProjectChrootsParser(IParser):
class ProjectListParser(IParser):
- provided_fields = {"projects_list"}
+ provided_fields = set(["projects_list"])
@staticmethod
def parse(data, field, client=None, **kwargs):
@@ -124,7 +124,7 @@ class ProjectListParser(IParser):
class NewBuildListParser(IParser):
- provided_fields = {"builds_list"}
+ provided_fields = set(["builds_list"])
@staticmethod
def parse(data, field, client=None, **kwargs):
diff --git a/python/docs/index.rst b/python/docs/index.rst
index d07556b..653c34a 100644
--- a/python/docs/index.rst
+++ b/python/docs/index.rst
@@ -9,7 +9,7 @@ About
Python-copr is a python client to access the Copr build service
through its `API <http://copr.fedoraproject.org/api>`_.
-Python-copr right now is in alpha stage, so expect lot of changes. Now it targets python 2.7
+Python-copr right now is in alpha stage, so expect lot of changes. Now it targets python 2.6+
and python3.3+.
9 years, 8 months