##// END OF EJS Templates
docs: updates to contributor documentation #4039
lisaq -
r271:401985cc default
parent child
Show More
@@ -1,7 +1,7
1 1 README - Quickstart
2 2 ===================
3 3
4 This folder contains functional tests and the automation of specification
4 This folder contains the functional tests and automation of specification
5 5 examples. Details about testing can be found in
6 6 `/docs-internal/testing/index.rst`.
7 7
@@ -21,7 +21,7 Use the following example call for the d
21 21 --api-key=9999999999999999999999999999999999999999 \
22 22 your-enterprise-config.ini
23 23
24 This way the username, password and auth token of the admin user will match the
24 This way the username, password, and auth token of the admin user will match the
25 25 defaults from the test run.
26 26
27 27
@@ -34,7 +34,7 1. Make sure your Rhodecode Enterprise i
34 34 2. Enter `nix-shell` from the acceptance_tests folder::
35 35
36 36 cd acceptance_tests
37 nix-shell -I ~/dev
37 nix-shell
38 38
39 39 Make sure that `rcpkgs` and `rcnixpkgs` are available on the nix path.
40 40
@@ -5,7 +5,7 Contributing to RhodeCode
5 5
6 6
7 7
8 Welcome to contribution guides and development docs of RhodeCode.
8 Welcome to the contribution guides and development docs of RhodeCode.
9 9
10 10
11 11
@@ -2,7 +2,7
2 2 DB Schema and Migration
3 3 =======================
4 4
5 To create or alter tables in the database it's necessary to change a couple of
5 To create or alter tables in the database, it's necessary to change a couple of
6 6 files, apart from configuring the settings pointing to the latest database
7 7 schema.
8 8
@@ -11,11 +11,11 Database Model and ORM
11 11 ----------------------
12 12
13 13 On ``rhodecode.model.db`` you will find the database definition of all tables and
14 fields. Any fresh install database will be correctly created by the definitions
15 here. So, any change to this files will affect the tests without having to change
14 fields. Any freshly installed database will be correctly created by the definitions
15 here. So, any change to this file will affect the tests without having to change
16 16 any other file.
17 17
18 A second layer are the businness classes that are inside ``rhodecode.model``.
18 A second layer are the business classes inside ``rhodecode.model``.
19 19
20 20
21 21 Database Migration
@@ -30,7 +30,7 Three files play a role when creating da
30 30
31 31 Schema is a snapshot of the database version BEFORE the migration. So, it's
32 32 the initial state before any changes were added. The name convention is
33 the latest release version where the snapshot were created, and not the
33 the latest release version where the snapshot was created, and not the
34 34 target version of this code.
35 35
36 36 Version is the method that will define how to UPGRADE/DOWNGRADE the database.
@@ -45,8 +45,8 For examples on how to create those file
45 45 Migration Command
46 46 ^^^^^^^^^^^^^^^^^
47 47
48 After you changed the database ORM and migration files, you can run::
48 After you've changed the database ORM and migration files, you can run::
49 49
50 50 paster upgrade-db <ini-file>
51 51
52 And the database will be upgraded up to the version defined in the ``__init__`` file. No newline at end of file
52 The database will be upgraded up to the version defined in the ``__init__`` file. No newline at end of file
@@ -13,7 +13,7 purposes. This section contains an overv
13 13 =============
14 14
15 15 Enables the section "Style" in the application. This section provides an
16 overview of all components which are found in the frontend style of the
16 overview of all components which are found in the frontend of the
17 17 application.
18 18
19 19
@@ -29,9 +29,9 to ease development.
29 29 `[logging]`
30 30 ===========
31 31
32 Use this to configure loggig to your current needs. The documentation of
33 Python's `logging` module explains all details. The following snippets are
34 useful for day to day development work.
32 Use this to configure logging to your current needs. The documentation of
33 Python's `logging` module explains all of the details. The following snippets
34 are useful for day to day development work.
35 35
36 36
37 37 Mute SQL output
@@ -9,19 +9,19 environment dependencies are correctly d
9 9 It also enables atomic upgrades, rollbacks, and multiple instances of RhodeCode
10 10 Enterprise for efficient cluster management.
11 11
12 To set up RhodeCode Enterprise inside the Nix environment use the following steps:
12 To set up RhodeCode Enterprise inside the Nix environment, use the following steps:
13 13
14 14
15 15
16 16 Setup Nix Package Manager
17 17 -------------------------
18 18
19 To install the Nix Package Manager please run::
19 To install the Nix Package Manager, please run::
20 20
21 21 $ curl https://nixos.org/nix/install | sh
22 22
23 or go to https://nixos.org/nix/ and follow their installation instructions.
24 Once this is correctly set up on your system you should be able to use the
23 or go to https://nixos.org/nix/ and follow the installation instructions.
24 Once this is correctly set up on your system, you should be able to use the
25 25 following commands:
26 26
27 27 * `nix-env`
@@ -34,8 +34,8 following commands:
34 34 Update your channels frequently by running ``nix-channel --upgrade``.
35 35
36 36
37 Switch nix to latest STABLE channel
38 -----------------------------------
37 Switch nix to the latest STABLE channel
38 ---------------------------------------
39 39
40 40 run::
41 41
@@ -49,7 +49,7 Followed by::
49 49 Clone the required repositories
50 50 -------------------------------
51 51
52 After Nix is set up, clone the RhodeCode Enterprise Community Edition, and
52 After Nix is set up, clone the RhodeCode Enterprise Community Edition and
53 53 RhodeCode VCSServer repositories into the same directory.
54 54 To do this, use the following example::
55 55
@@ -59,23 +59,23 To do this, use the following example::
59 59
60 60 .. note::
61 61
62 If you cannot clone the repository, please request read permissions.
62 If you cannot clone the repository, please request read permissions via support@rhodecode.com
63 63
64 64
65 65
66 66 Enter the Development Shell
67 67 ---------------------------
68 68
69 The final step is to start into the development shell. To do this run the
69 The final step is to start the development shell. To do this, run the
70 70 following command from inside the cloned repository::
71 71
72 72 cd ~/rhodecode-enterprise-ce
73 nix-shell --arg dev true
73 nix-shell
74 74
75 75 .. note::
76 76
77 77 On the first run, this will take a while to download and optionally compile
78 a few things. The next runs of it will be faster.
78 a few things. The following runs will be faster.
79 79
80 80
81 81
@@ -90,13 +90,13 2. Adjust the configuration settings to
90 90
91 91 .. note::
92 92
93 It is recommended to call it `dev.ini`.
93 It is recommended to use the name `dev.ini`.
94 94
95 95
96 96 Setup the Development Database
97 97 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
98 98
99 To create a development database use the following example. This is a one
99 To create a development database, use the following example. This is a one
100 100 time operation::
101 101
102 102 paster setup-rhodecode dev.ini \
@@ -109,7 +109,7 Start the Development Server
109 109 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
110 110
111 111 When starting the development server, you should start the vcsserver as a
112 separate process. To do this use one of the following examples:
112 separate process. To do this, use one of the following examples:
113 113
114 114 1. Set the `start.vcs_server` flag in the ``dev.ini`` file to true. For example:
115 115
@@ -136,6 +136,6 3. Start the development server in a dif
136 136 Run the Environment Tests
137 137 ^^^^^^^^^^^^^^^^^^^^^^^^^
138 138
139 Please make sure that the test are passing to verify that your environment is
139 Please make sure that the tests are passing to verify that your environment is
140 140 set up correctly. More details about the tests are described in:
141 141 :file:`/docs/dev/testing`.
@@ -17,12 +17,12
17 17 Overview
18 18 ========
19 19
20 We have a quite big test suite inside of :file:`rhodecode/tests` which is a mix
20 We have a quite large test suite inside of :file:`rhodecode/tests` which is a mix
21 21 of unit tests and functional or integration tests. More details are in
22 22 :ref:`test-unit-and-functional`.
23 23
24 24
25 Apart from that we start to apply "Specification by Example" and maintain a
26 collection of such specifications together with an implementation so that it can
27 be validated in an automatic way. The files can be found in
25 Apart from that, we are starting to apply "Specification by Example" and maintain
26 a collection of such specifications together with an implementation so that it
27 can be validated in an automatic way. The files can be found in
28 28 :file:`acceptance_tests`. More details are in :ref:`test-spec-by-example`.
@@ -66,10 +66,10 Locators
66 66 --------
67 67
68 68 The specific information how to locate an element inside of the DOM tree of a
69 page is kept in a separate class. This class serves mainly as a data container,
69 page is kept in a separate class. This class serves mainly as a data container;
70 70 it shall not contain any logic.
71 71
72 72 The reason for keeping the locators separate is that we expect a frequent need
73 for change whenever we work on our templates. In such a case it is more
74 efficient to have all locators together and update them there instead of having
75 to find all locators inside of the logic of a page object.
73 for change whenever we work on our templates. In such a case, it is more
74 efficient to have all of thelocators together and update them there instead of
75 having to find every locator inside of the logic of a page object.
@@ -27,7 +27,7 py.test integration
27 27 The integration with the test runner is based on the following three parts:
28 28
29 29 - `pytest_pylons` is a py.test plugin which does the integration with the
30 Pylons web framework. It sets up the Pylons environment based on a given ini
30 Pylons web framework. It sets up the Pylons environment based on the given ini
31 31 file.
32 32
33 33 Tests which depend on the Pylons environment to be set up must request the
General Comments 0
You need to be logged in to leave comments. Login now