<?xml version="1.0"?>
<puzzles xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.0pdd.com/puzzles.xsd" date="2018-10-26T05:45:35+00:00" version="0.30.8">
  <puzzle alive="true">
    <issue href="https://github.com/smallcreep/cucumber-seeds/issues/17">17</issue>
    <ticket>10</ticket>
    <estimate>15</estimate>
    <role>DEV</role>
    <id>10-367b8283</id>
    <lines>41-45</lines>
    <body>Extract to hamcrest matcher, check value cucumber annotations, inspect all annotations. Add configure for checking timeout. Maybe more than one annotation. Bad idea use many methods in test.</body>
    <file>seeds-db/src/test/java/com/github/smallcreep/cucumber/seeds/db/steps/StpDefConnectionTest.java</file>
    <author>Ilia Rogozhin</author>
    <email>ilia.rogozhin@adsterra.com</email>
    <time>2018-10-04T10:23:41Z</time>
    <children/>
  </puzzle>
  <puzzle alive="false">
    <issue href="https://github.com/smallcreep/cucumber-seeds/issues/18" closed="2018-10-04T17:07:14+00:00">18</issue>
    <ticket>10</ticket>
    <estimate>15</estimate>
    <role>DEV</role>
    <id>10-e62debd8</id>
    <lines>32-34</lines>
    <body>Move this interface to the Core module. Ann create basic implementation for this interface. Because many modules maybe used it.</body>
    <file>seeds-db/src/main/java/com/github/smallcreep/cucumber/seeds/db/steps/Suit.java</file>
    <author>Ilia Rogozhin</author>
    <email>ilia.rogozhin@adsterra.com</email>
    <time>2018-10-04T10:23:41Z</time>
    <children>
      <puzzle alive="false">
        <issue href="https://github.com/smallcreep/cucumber-seeds/issues/24" closed="2018-10-05T11:10:18+00:00">24</issue>
        <ticket>18</ticket>
        <estimate>30</estimate>
        <role>DEV</role>
        <id>18-8db2f47e</id>
        <lines>36-40</lines>
        <body>Redesign class. Suit must be a Singleton class. This class must two static {@link AtomicReference} fields: Context suit and Scenario. Scenario should be return context of current. Because we don't want use dependency injection. For correct using Before and After we can use order feature</body>
        <file>seeds-core/src/main/java/com/github/smallcreep/cucumber/seeds/suit/StSimple.java</file>
        <author>Ilia Rogozhin</author>
        <email>ilia.rogozhin@adsterra.com</email>
        <time>2018-10-04T16:20:48Z</time>
        <children/>
      </puzzle>
    </children>
  </puzzle>
  <puzzle alive="false">
    <issue href="https://github.com/smallcreep/cucumber-seeds/issues/19" closed="2018-10-04T12:50:18+00:00">19</issue>
    <ticket>10</ticket>
    <estimate>35</estimate>
    <role>DEV</role>
    <id>10-8101f1eb</id>
    <lines>32-34</lines>
    <body>Need add new module with name Core. And move this interface to this module. Ann create basic implementation for this interface.</body>
    <file>seeds-db/src/main/java/com/github/smallcreep/cucumber/seeds/db/steps/Scenario.java</file>
    <author>Ilia Rogozhin</author>
    <email>ilia.rogozhin@adsterra.com</email>
    <time>2018-10-04T10:23:41Z</time>
    <children/>
  </puzzle>
  <puzzle alive="false">
    <issue href="https://github.com/smallcreep/cucumber-seeds/issues/20" closed="2018-10-05T11:10:20+00:00">20</issue>
    <ticket>10</ticket>
    <estimate>30</estimate>
    <role>DEV</role>
    <id>10-4feee286</id>
    <lines>33-36</lines>
    <body>Move this class to the Core module. Because many modules maybe used it. Method {@link Context#suit()} should return the same suit every time. After add implementation of {@link Suit} need replace it.</body>
    <file>seeds-db/src/main/java/com/github/smallcreep/cucumber/seeds/db/steps/Context.java</file>
    <author>Ilia Rogozhin</author>
    <email>ilia.rogozhin@adsterra.com</email>
    <time>2018-10-04T10:23:41Z</time>
    <children/>
  </puzzle>
  <puzzle alive="true">
    <issue href="https://github.com/smallcreep/cucumber-seeds/issues/21">21</issue>
    <ticket>10</ticket>
    <estimate>45</estimate>
    <role>DEV</role>
    <id>10-30907043</id>
    <lines>65-68</lines>
    <body>Need remove using public static method. But I don't know how fixed it. This mistake in cucumber. If not resolved this problem need remove this comment and add doc why we use it.</body>
    <file>seeds-db/src/main/java/com/github/smallcreep/cucumber/seeds/db/steps/Context.java</file>
    <author>Ilia Rogozhin</author>
    <email>ilia.rogozhin@adsterra.com</email>
    <time>2018-10-04T10:23:41Z</time>
    <children/>
  </puzzle>
  <puzzle alive="false">
    <issue href="https://github.com/smallcreep/cucumber-seeds/issues/30" closed="2018-10-08T19:33:29+00:00">30</issue>
    <ticket>28</ticket>
    <estimate>15</estimate>
    <role>DEV</role>
    <id>28-92e27b36</id>
    <lines>33-36</lines>
    <body>Need implement this class. This class must search properties in all context. And have storage for new values. Need use many context from constructor.</body>
    <file>seeds-core/src/main/java/com/github/smallcreep/cucumber/seeds/context/CxJoined.java</file>
    <author>Ilia Rogozhin</author>
    <email>ilia.rogozhin@adsterra.com</email>
    <time>2018-10-08T15:35:31Z</time>
    <children/>
  </puzzle>
  <puzzle alive="false">
    <issue href="https://github.com/smallcreep/cucumber-seeds/issues/33" closed="2018-10-12T08:22:08+00:00">33</issue>
    <ticket>10</ticket>
    <estimate>25</estimate>
    <role>DEV</role>
    <id>10-8e4704c8</id>
    <lines>30-33</lines>
    <body>Need add basic implementation for this interface. For basic implementation method #connect should send simple select, for example `SELECT 1;`, to real database, and check that connect is available.</body>
    <file>seeds-db/src/main/java/com/github/smallcreep/cucumber/seeds/db/steps/DataBase.java</file>
    <author>Ilia Rogozhin</author>
    <email>ilia.rogozhin@adsterra.com</email>
    <time>2018-10-10T09:09:21Z</time>
    <children>
      <puzzle alive="false">
        <issue href="https://github.com/smallcreep/cucumber-seeds/issues/41" closed="2018-10-23T08:53:34+00:00">41</issue>
        <ticket>33</ticket>
        <estimate>30</estimate>
        <role>DEV</role>
        <id>33-51e244f3</id>
        <lines>41-46</lines>
        <body>Move this test to integration tests. Need startup any Database (ex. Postgres) before run integration test. We can start DB in docker, for running docker images we can use fabric8io/docker-maven-plugin. For more info about this plugin go to the link http://dmp.fabric8.io/</body>
        <file>seeds-db/src/test/java/com/github/smallcreep/cucumber/seeds/db/DbDefaultTest.java</file>
        <author>Ilia Rogozhin</author>
        <email>ilia.rogozhin@adsterra.com</email>
        <time>2018-10-12T08:05:46Z</time>
        <children/>
      </puzzle>
    </children>
  </puzzle>
  <puzzle alive="false">
    <issue href="https://github.com/smallcreep/cucumber-seeds/issues/34" closed="2018-10-16T14:06:45+00:00">34</issue>
    <ticket>10</ticket>
    <estimate>20</estimate>
    <role>DEV</role>
    <id>10-795d4cf6</id>
    <lines>59-61</lines>
    <body>Need add hooks for update suit context. Suit context should contains Properties Context (CxProperties). This need to transfer data between scenarios.</body>
    <file>seeds-db/src/main/java/com/github/smallcreep/cucumber/seeds/db/steps/StpDefConnection.java</file>
    <author>Ilia Rogozhin</author>
    <email>ilia.rogozhin@adsterra.com</email>
    <time>2018-10-10T09:09:21Z</time>
    <children/>
  </puzzle>
  <puzzle alive="false">
    <issue href="https://github.com/smallcreep/cucumber-seeds/issues/35" closed="2018-10-15T17:17:09+00:00">35</issue>
    <ticket>10</ticket>
    <estimate>25</estimate>
    <role>DEV</role>
    <id>10-f940a7a1</id>
    <lines>30-34</lines>
    <body>Need add basic implementation for this interface. For basic implementation method #database(String) should return default database. And doesn't create new database, if this database already created. And return already created database. For sharing database between scenarios we can use Suit#context().</body>
    <file>seeds-db/src/main/java/com/github/smallcreep/cucumber/seeds/db/steps/DataBases.java</file>
    <author>Ilia Rogozhin</author>
    <email>ilia.rogozhin@adsterra.com</email>
    <time>2018-10-10T09:09:21Z</time>
    <children>
      <puzzle alive="false">
        <issue href="https://github.com/smallcreep/cucumber-seeds/issues/48" closed="2018-10-16T12:25:14+00:00">48</issue>
        <ticket>35</ticket>
        <estimate>30</estimate>
        <role>DEV</role>
        <id>35-c3c2f21a</id>
        <lines>47-49</lines>
        <body>Add constructors that get Suit context, and Props implementation for get default values if values for current data base dose not set.</body>
        <file>seeds-db/src/main/java/com/github/smallcreep/cucumber/seeds/db/DbsDefault.java</file>
        <author>Ilia Rogozhin</author>
        <email>ilia.rogozhin@adsterra.com</email>
        <time>2018-10-15T16:56:59Z</time>
        <children>
          <puzzle alive="false">
            <issue href="https://github.com/smallcreep/cucumber-seeds/issues/50" closed="2018-10-16T14:06:46+00:00">50</issue>
            <ticket>48</ticket>
            <estimate>15</estimate>
            <role>DEV</role>
            <id>48-b558b139</id>
            <lines>35-41</lines>
            <body>Implement this #property(String) method. This method was return default value if has not specific value. Returned values mapping: "jdbs.driver" = "cucumber.seeds.db.%db_name%.jdbc.driver" "jdbs.url" = "cucumber.seeds.db.%db_name%.jdbc.url" "user" = "cucumber.seeds.db.%db_name%.user" "password" = "cucumber.seeds.db.%db_name%.password"</body>
            <file>seeds-db/src/main/java/com/github/smallcreep/cucumber/seeds/props/PrDbContext.java</file>
            <author>Ilia Rogozhin</author>
            <email>ilia.rogozhin@adsterra.com</email>
            <time>2018-10-16T10:21:10Z</time>
            <children/>
          </puzzle>
        </children>
      </puzzle>
    </children>
  </puzzle>
  <puzzle alive="false">
    <issue href="https://github.com/smallcreep/cucumber-seeds/issues/62" closed="2018-10-24T15:34:29+00:00">62</issue>
    <ticket>60</ticket>
    <estimate>20</estimate>
    <role>DEV</role>
    <id>60-f9b83fa7</id>
    <lines>43-46</lines>
    <body>Redesign class constructor. For example add to DataBase#table(String, String), This method must return table by schema and name. And rows must get into constructor only Table and Rows.</body>
    <file>seeds-db/src/main/java/com/github/smallcreep/cucumber/seeds/rows/RwDefault.java</file>
    <author>Ilia Rogozhin</author>
    <email>ilia.rogozhin@adsterra.com</email>
    <time>2018-10-18T08:10:30Z</time>
    <children/>
  </puzzle>
  <puzzle alive="false">
    <issue href="https://github.com/smallcreep/cucumber-seeds/issues/63" closed="2018-10-24T15:34:30+00:00">63</issue>
    <ticket>60</ticket>
    <estimate>30</estimate>
    <role>DEV</role>
    <id>60-7cbcbbd6</id>
    <lines>59-62</lines>
    <body>Implement this method. This method must add rows to table. Need that method generate data by #Random#Integer or other placeholders.</body>
    <file>seeds-db/src/main/java/com/github/smallcreep/cucumber/seeds/rows/RwDefault.java</file>
    <author>Ilia Rogozhin</author>
    <email>ilia.rogozhin@adsterra.com</email>
    <time>2018-10-18T08:10:30Z</time>
    <children>
      <puzzle alive="true">
        <issue href="https://github.com/smallcreep/cucumber-seeds/issues/85">85</issue>
        <ticket>63</ticket>
        <estimate>30</estimate>
        <role>TEST</role>
        <id>63-19a2d4ae</id>
        <lines>60-63</lines>
        <body>Add integration test to this method. For example this test must insert to exist database table. To create table can use liquibase, see for example usage https://www.yegor256.com/2014/07/20/liquibase-in-maven.html</body>
        <file>seeds-db/src/main/java/com/github/smallcreep/cucumber/seeds/rows/RwDefault.java</file>
        <author>Ilia Rogozhin</author>
        <email>ilia.rogozhin@adsterra.com</email>
        <time>2018-10-24T15:15:30Z</time>
        <children/>
      </puzzle>
      <puzzle alive="false">
        <issue href="https://github.com/smallcreep/cucumber-seeds/issues/86" closed="2018-10-26T05:45:35+00:00">86</issue>
        <ticket>63</ticket>
        <estimate>30</estimate>
        <role>DEV</role>
        <id>63-01c92703</id>
        <lines>64-76</lines>
        <body>Add change values from placeholders. We need use placeholders for example #Random#Integer. This placeholder should replace before insert. Placeholders to implementation: #Random#Integer - random integer; #Random#String - random string; #Timestamp#Now - current timestamp by default in format YYYY/MM/DD hh:mm:ss #Random#String#End(endString) - random string with string in the end, can send another placeholder as parameter; #Random#String(length) - random string length from parameter; #Encryption#Md5() - encrypt string to md5 hash, can send another placeholder as parameter;</body>
        <file>seeds-db/src/main/java/com/github/smallcreep/cucumber/seeds/rows/RwDefault.java</file>
        <author>Ilia Rogozhin</author>
        <email>ilia.rogozhin@adsterra.com</email>
        <time>2018-10-24T15:15:30Z</time>
        <children/>
      </puzzle>
    </children>
  </puzzle>
  <puzzle alive="false">
    <issue href="https://github.com/smallcreep/cucumber-seeds/issues/64" closed="2018-10-18T15:12:55+00:00">64</issue>
    <ticket>60</ticket>
    <estimate>15</estimate>
    <role>DEV</role>
    <id>60-57442154</id>
    <lines>77-81</lines>
    <body>Implement this method. Need that method return already connected database by name. See method DbsDefault#database(String). And throw exception if hasn't connected database. After connect to new database this method return this database.</body>
    <file>seeds-db/src/main/java/com/github/smallcreep/cucumber/seeds/db/DbsDefault.java</file>
    <author>Ilia Rogozhin</author>
    <email>ilia.rogozhin@adsterra.com</email>
    <time>2018-10-18T08:10:30Z</time>
    <children/>
  </puzzle>
  <puzzle alive="false">
    <issue href="https://github.com/smallcreep/cucumber-seeds/issues/89" closed="2018-10-25T14:04:23+00:00">89</issue>
    <ticket>87</ticket>
    <estimate>15</estimate>
    <role>DEV</role>
    <id>87-e3f4ac65</id>
    <lines>44-47</lines>
    <body>Implement this class. This class should replace all placeholders. This class doesn't change key, but change values from origin map. Values should replaced by regexp.</body>
    <file>seeds-generator/src/main/java/com/github/smallcreep/cucumber/seeds/generator/surrogate/SurrogateSimple.java</file>
    <author>Ilia</author>
    <email>ilia.rogozhin@gmail.com</email>
    <time>2018-10-25T12:26:54Z</time>
    <children/>
  </puzzle>
</puzzles>
