<?xml version="1.0"?>
<puzzles xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.0pdd.com/puzzles.xsd" date="2020-09-10T09:15:21+00:00" version="0.30.21">
  <puzzle alive="false">
    <issue href="https://github.com/artipie/go-adapter/issues/24" closed="2020-04-17T17:44:19+00:00">24</issue>
    <ticket>20</ticket>
    <estimate>30</estimate>
    <role>DEV</role>
    <id>20-d4468cf2</id>
    <lines>245-250</lines>
    <body>API for go repository: we are implementing `Slice` interface for Go in the following steps: first: add documentation (done, see Go module proxy protocol section), second: implement integration tests using Docker image with go and Testcontainers third: implement `Slice` interface to support go module proxy protocol For more details pleas address original task #20</body>
    <file>README.md</file>
    <author>olenagerasimova</author>
    <email>olena.gerasimova@gmail.com</email>
    <time>2020-04-10T08:44:01Z</time>
    <children>
      <puzzle alive="false">
        <issue href="https://github.com/artipie/go-adapter/issues/30" closed="2020-04-22T05:59:05+00:00">30</issue>
        <ticket>24</ticket>
        <estimate>30</estimate>
        <role>DEV</role>
        <id>24-23e70741</id>
        <lines>36-43</lines>
        <body>API for go repository: we are implementing `Slice` interface for Go in the following steps: first: add documentation (done, see Go module proxy protocol section), second: implement integration tests using Docker image with go and Testcontainers (done, check {@link GoSliceITCase}) third: implement `Slice` interface to support go module proxy protocol When third part is done, update GoSliceITCase to work with this instance instead of fake one. For more details pleas address original task #20</body>
        <file>src/main/java/com/artipie/goproxy/GoSlice.java</file>
        <author>olenagerasimova</author>
        <email>olena.gerasimova@gmail.com</email>
        <time>2020-04-14T16:48:34Z</time>
        <children/>
      </puzzle>
    </children>
  </puzzle>
  <puzzle alive="true">
    <issue href="https://github.com/artipie/go-adapter/issues/28">28</issue>
    <ticket>26</ticket>
    <estimate>30</estimate>
    <role>DEV</role>
    <id>26-254af14a</id>
    <lines>172-177</lines>
    <body>Improve code coverage by writing unit-tests: each coverage counter should not be less than 75. To do so we have to make unit-tests possible by splitting `Goproxy`: find a way to refactor it by extracting small classes and creating unit-tests for them. Do not put a lot of changes in one PR, make each change small but properly covered with tests. After each iteration do not forget to correct coverage minimums and this todo to continue work.</body>
    <file>pom.xml</file>
    <author>@g4s8</author>
    <email>g4s8.public@gmail.com</email>
    <time>2020-04-16T10:14:02Z</time>
    <children/>
  </puzzle>
  <puzzle alive="false">
    <issue href="https://github.com/artipie/go-adapter/issues/31" closed="2020-04-28T06:59:01+00:00">31</issue>
    <ticket>20</ticket>
    <estimate>30</estimate>
    <role>DEV</role>
    <id>20-0662588d</id>
    <lines>35-38</lines>
    <body>Implement ModSlice to get .mod file requested module, see readme for details. While implementing try to extract working-with-storage logic into separate class, also check class Goproxy - maybe some code can be extracted from this class and reused. Do not forget about tests.</body>
    <file>src/main/java/com/artipie/http/ModSlice.java</file>
    <author>@g4s8</author>
    <email>g4s8.public@gmail.com</email>
    <time>2020-04-21T05:29:17Z</time>
    <children>
      <puzzle alive="false">
        <issue href="https://github.com/artipie/go-adapter/issues/42" closed="2020-05-06T07:09:47+00:00">42</issue>
        <ticket>31</ticket>
        <estimate>30</estimate>
        <role>DEV</role>
        <id>31-641481c7</id>
        <lines>44-45</lines>
        <body>Create test (not ITcase) for this class: we need to properly test routing and fallback if no routes found.</body>
        <file>src/main/java/com/artipie/http/GoSlice.java</file>
        <author>@olenagerasimova</author>
        <email>olena.gerasimova@gmail.com</email>
        <time>2020-04-24T06:55:03Z</time>
        <children/>
      </puzzle>
    </children>
  </puzzle>
  <puzzle alive="false">
    <issue href="https://github.com/artipie/go-adapter/issues/32" closed="2020-04-28T06:59:08+00:00">32</issue>
    <ticket>20</ticket>
    <estimate>30</estimate>
    <role>DEV</role>
    <id>20-ddebec3a</id>
    <lines>35-38</lines>
    <body>Implement ListSlice to versions list of module, see readme for details. While implementing try to extract working-with-storage logic into separate class, also check class Goproxy - maybe some code can be extracted from this class and reused. Do not forget about tests.</body>
    <file>src/main/java/com/artipie/http/ListSlice.java</file>
    <author>@g4s8</author>
    <email>g4s8.public@gmail.com</email>
    <time>2020-04-21T05:29:17Z</time>
    <children/>
  </puzzle>
  <puzzle alive="false">
    <issue href="https://github.com/artipie/go-adapter/issues/33" closed="2020-04-23T11:10:02+00:00">33</issue>
    <ticket>20</ticket>
    <estimate>30</estimate>
    <role>DEV</role>
    <id>20-b49abdfc</id>
    <lines>36-39</lines>
    <body>Implement LatestSlice to get latest version of requested module, see readme for details. While implementing try to extract working-with-storage logic into separate class, also check class Goproxy - maybe some code can be extracted from this class and reused. Do not forget about tests.</body>
    <file>src/main/java/com/artipie/http/LatestSlice.java</file>
    <author>@g4s8</author>
    <email>g4s8.public@gmail.com</email>
    <time>2020-04-21T05:29:17Z</time>
    <children>
      <puzzle alive="false">
        <issue href="https://github.com/artipie/go-adapter/issues/39" closed="2020-04-27T06:34:13+00:00">39</issue>
        <ticket>33</ticket>
        <estimate>30</estimate>
        <role>DEV</role>
        <id>33-5bb0e272</id>
        <lines>49-50</lines>
        <body>Make `latest` replacement in response method more clear, for example by using `URI` and removing last part of the path or something similar.</body>
        <file>src/main/java/com/artipie/http/LatestSlice.java</file>
        <author>olenagerasimova</author>
        <email>olena.gerasimova@gmail.com</email>
        <time>2020-04-23T10:58:06Z</time>
        <children/>
      </puzzle>
    </children>
  </puzzle>
  <puzzle alive="false">
    <issue href="https://github.com/artipie/go-adapter/issues/34" closed="2020-04-22T05:59:10+00:00">34</issue>
    <ticket>20</ticket>
    <estimate>30</estimate>
    <role>DEV</role>
    <id>20-b2836b3a</id>
    <lines>35-38</lines>
    <body>Implement ZipSlice to get zip archive for module, see readme for details. While implementing try to extract working-with-storage logic into separate class, also check class Goproxy - maybe some code can be extracted from this class and reused. Do not forget about tests.</body>
    <file>src/main/java/com/artipie/http/ZipSlice.java</file>
    <author>@g4s8</author>
    <email>g4s8.public@gmail.com</email>
    <time>2020-04-21T05:29:17Z</time>
    <children/>
  </puzzle>
  <puzzle alive="false">
    <issue href="https://github.com/artipie/go-adapter/issues/35" closed="2020-04-28T06:59:13+00:00">35</issue>
    <ticket>20</ticket>
    <estimate>30</estimate>
    <role>DEV</role>
    <id>20-41bda94c</id>
    <lines>35-38</lines>
    <body>Implement InfoSlice to get info about requested module, see readme for details. While implementing try to extract working-with-storage logic into separate class, also check class Goproxy - maybe some code can be extracted from this class and reused. Do not forget about tests.</body>
    <file>src/main/java/com/artipie/http/InfoSlice.java</file>
    <author>@g4s8</author>
    <email>g4s8.public@gmail.com</email>
    <time>2020-04-21T05:29:17Z</time>
    <children/>
  </puzzle>
  <puzzle alive="true">
    <issue href="https://github.com/artipie/go-adapter/issues/66">66</issue>
    <ticket>62</ticket>
    <estimate>30</estimate>
    <role>DEV</role>
    <id>62-1a71c590</id>
    <lines>57-59</lines>
    <body>Make this test work with authorization, for now go refuses to send username and password parameters to insecure url with corresponding error: "refusing to pass credentials to insecure URL".</body>
    <file>src/test/java/com/artipie/http/GoSliceITCase.java</file>
    <author>@olenagerasimova</author>
    <email>olena.gerasimova@gmail.com</email>
    <time>2020-09-08T06:11:21Z</time>
    <children/>
  </puzzle>
</puzzles>
