mwielgoszewski/doorman

View on GitHub
tests/test_functional.py

Summary

Maintainability
F
1 wk
Test Coverage

File test_functional.py has 1346 lines of code (exceeds 250 allowed). Consider refactoring.
Open

# -*- coding: utf-8 -*-
from copy import deepcopy
from flask import url_for
from sqlalchemy import and_
import datetime as dt
Severity: Major
Found in tests/test_functional.py - About 3 days to fix

    Cyclomatic complexity is too high in method test_enroll_secret_tags. (25)
    Open

        def test_enroll_secret_tags(self, db, node, testapp):
    Severity: Minor
    Found in tests/test_functional.py by radon

    Cyclomatic Complexity

    Cyclomatic Complexity corresponds to the number of decisions a block of code contains plus 1. This number (also called McCabe number) is equal to the number of linearly independent paths through the code. This number can be used as a guide when testing conditional logic in blocks.

    Radon analyzes the AST tree of a Python program to compute Cyclomatic Complexity. Statements have the following effects on Cyclomatic Complexity:

    Construct Effect on CC Reasoning
    if +1 An if statement is a single decision.
    elif +1 The elif statement adds another decision.
    else +0 The else statement does not cause a new decision. The decision is at the if.
    for +1 There is a decision at the start of the loop.
    while +1 There is a decision at the while statement.
    except +1 Each except branch adds a new conditional path of execution.
    finally +0 The finally block is unconditionally executed.
    with +1 The with statement roughly corresponds to a try/except block (see PEP 343 for details).
    assert +1 The assert statement internally roughly equals a conditional statement.
    Comprehension +1 A list/set/dict comprehension of generator expression is equivalent to a for loop.
    Boolean Operator +1 Every boolean operator (and, or) adds a decision point.

    Source: http://radon.readthedocs.org/en/latest/intro.html

    Cyclomatic complexity is too high in method test_heterogeneous_result_format. (19)
    Open

        def test_heterogeneous_result_format(self, node, testapp):
    Severity: Minor
    Found in tests/test_functional.py by radon

    Cyclomatic Complexity

    Cyclomatic Complexity corresponds to the number of decisions a block of code contains plus 1. This number (also called McCabe number) is equal to the number of linearly independent paths through the code. This number can be used as a guide when testing conditional logic in blocks.

    Radon analyzes the AST tree of a Python program to compute Cyclomatic Complexity. Statements have the following effects on Cyclomatic Complexity:

    Construct Effect on CC Reasoning
    if +1 An if statement is a single decision.
    elif +1 The elif statement adds another decision.
    else +0 The else statement does not cause a new decision. The decision is at the if.
    for +1 There is a decision at the start of the loop.
    while +1 There is a decision at the while statement.
    except +1 Each except branch adds a new conditional path of execution.
    finally +0 The finally block is unconditionally executed.
    with +1 The with statement roughly corresponds to a try/except block (see PEP 343 for details).
    assert +1 The assert statement internally roughly equals a conditional statement.
    Comprehension +1 A list/set/dict comprehension of generator expression is equivalent to a for loop.
    Boolean Operator +1 Every boolean operator (and, or) adds a decision point.

    Source: http://radon.readthedocs.org/en/latest/intro.html

    Cyclomatic complexity is too high in method test_result_log_created_for_node. (12)
    Open

        def test_result_log_created_for_node(self, node, testapp):
    Severity: Minor
    Found in tests/test_functional.py by radon

    Cyclomatic Complexity

    Cyclomatic Complexity corresponds to the number of decisions a block of code contains plus 1. This number (also called McCabe number) is equal to the number of linearly independent paths through the code. This number can be used as a guide when testing conditional logic in blocks.

    Radon analyzes the AST tree of a Python program to compute Cyclomatic Complexity. Statements have the following effects on Cyclomatic Complexity:

    Construct Effect on CC Reasoning
    if +1 An if statement is a single decision.
    elif +1 The elif statement adds another decision.
    else +0 The else statement does not cause a new decision. The decision is at the if.
    for +1 There is a decision at the start of the loop.
    while +1 There is a decision at the while statement.
    except +1 Each except branch adds a new conditional path of execution.
    finally +0 The finally block is unconditionally executed.
    with +1 The with statement roughly corresponds to a try/except block (see PEP 343 for details).
    assert +1 The assert statement internally roughly equals a conditional statement.
    Comprehension +1 A list/set/dict comprehension of generator expression is equivalent to a for loop.
    Boolean Operator +1 Every boolean operator (and, or) adds a decision point.

    Source: http://radon.readthedocs.org/en/latest/intro.html

    Cyclomatic complexity is too high in method test_rule_end_to_end. (11)
    Open

        def test_rule_end_to_end(self, db, node, app, testapp):
            """
            This test is rather complicated, but is aimed at testing the end-to-end
            behavior of a rule.  Essentially, we create a dummy alerter that saves
            when it's called, and then perform the following steps:
    Severity: Minor
    Found in tests/test_functional.py by radon

    Cyclomatic Complexity

    Cyclomatic Complexity corresponds to the number of decisions a block of code contains plus 1. This number (also called McCabe number) is equal to the number of linearly independent paths through the code. This number can be used as a guide when testing conditional logic in blocks.

    Radon analyzes the AST tree of a Python program to compute Cyclomatic Complexity. Statements have the following effects on Cyclomatic Complexity:

    Construct Effect on CC Reasoning
    if +1 An if statement is a single decision.
    elif +1 The elif statement adds another decision.
    else +0 The else statement does not cause a new decision. The decision is at the if.
    for +1 There is a decision at the start of the loop.
    while +1 There is a decision at the while statement.
    except +1 Each except branch adds a new conditional path of execution.
    finally +0 The finally block is unconditionally executed.
    with +1 The with statement roughly corresponds to a try/except block (see PEP 343 for details).
    assert +1 The assert statement internally roughly equals a conditional statement.
    Comprehension +1 A list/set/dict comprehension of generator expression is equivalent to a for loop.
    Boolean Operator +1 Every boolean operator (and, or) adds a decision point.

    Source: http://radon.readthedocs.org/en/latest/intro.html

    Cyclomatic complexity is too high in class TestRuleEndToEnd. (11)
    Open

    class TestRuleEndToEnd:
    
        def test_rule_end_to_end(self, db, node, app, testapp):
            """
            This test is rather complicated, but is aimed at testing the end-to-end
    Severity: Minor
    Found in tests/test_functional.py by radon

    Cyclomatic Complexity

    Cyclomatic Complexity corresponds to the number of decisions a block of code contains plus 1. This number (also called McCabe number) is equal to the number of linearly independent paths through the code. This number can be used as a guide when testing conditional logic in blocks.

    Radon analyzes the AST tree of a Python program to compute Cyclomatic Complexity. Statements have the following effects on Cyclomatic Complexity:

    Construct Effect on CC Reasoning
    if +1 An if statement is a single decision.
    elif +1 The elif statement adds another decision.
    else +0 The else statement does not cause a new decision. The decision is at the if.
    for +1 There is a decision at the start of the loop.
    while +1 There is a decision at the while statement.
    except +1 Each except branch adds a new conditional path of execution.
    finally +0 The finally block is unconditionally executed.
    with +1 The with statement roughly corresponds to a try/except block (see PEP 343 for details).
    assert +1 The assert statement internally roughly equals a conditional statement.
    Comprehension +1 A list/set/dict comprehension of generator expression is equivalent to a for loop.
    Boolean Operator +1 Every boolean operator (and, or) adds a decision point.

    Source: http://radon.readthedocs.org/en/latest/intro.html

    Function test_enroll_secret_tags has 37 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

        def test_enroll_secret_tags(self, db, node, testapp):
            testapp.app.config['DOORMAN_ENROLL_SECRET_TAG_DELIMITER'] = ':'
            testapp.app.config['DOORMAN_EXPECTS_UNIQUE_HOST_ID'] = True
            enroll_secret = testapp.app.config['DOORMAN_ENROLL_SECRET'][0]
            resp = testapp.post_json(url_for('api.enroll'), {
    Severity: Minor
    Found in tests/test_functional.py - About 1 hr to fix

      Function test_configuration_has_all_required_values has 29 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

          def test_configuration_has_all_required_values(self, node, testapp):
              tag = TagFactory(value='foobar')
              tag2 = TagFactory(value='barbaz')
              pack = PackFactory(name='foobar')
              pack.tags.append(tag)
      Severity: Minor
      Found in tests/test_functional.py - About 1 hr to fix

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

            def test_status_log_created_for_node(self, node, testapp):
                data = {
                    'line': 1,
                    'message': 'This is a test of the emergency broadcast system.',
                    'severity': 1,
        Severity: Major
        Found in tests/test_functional.py and 1 other location - About 1 day to fix
        tests/test_functional.py on lines 501..524

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 194.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

            def test_status_log_created_for_node_put(self, node, testapp):
                data = {
                    'line': 1,
                    'message': 'This is a test of the emergency broadcast system.',
                    'severity': 1,
        Severity: Major
        Found in tests/test_functional.py and 1 other location - About 1 day to fix
        tests/test_functional.py on lines 476..499

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 194.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

            def test_distributed_query_read_complete(self, db, node, testapp):
                q = DistributedQuery.create(sql='select * from osquery_info;')
                t = DistributedQueryTask.create(node=node, distributed_query=q)
                t.update(status=DistributedQueryTask.COMPLETE)
        
        
        Severity: Major
        Found in tests/test_functional.py and 1 other location - About 6 hrs to fix
        tests/test_functional.py on lines 855..867

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 109.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

            def test_distributed_query_read_pending(self, db, node, testapp):
                q = DistributedQuery.create(sql='select * from osquery_info;')
                t = DistributedQueryTask.create(node=node, distributed_query=q)
                t.update(status=DistributedQueryTask.PENDING)
        
        
        Severity: Major
        Found in tests/test_functional.py and 1 other location - About 6 hrs to fix
        tests/test_functional.py on lines 869..881

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 109.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

            def test_no_status_log_created_when_data_is_empty(self, node, testapp):
                assert not node.status_logs.count()
        
                resp = testapp.post_json(url_for('api.logger'), {
                    'node_key': node.node_key,
        Severity: Major
        Found in tests/test_functional.py and 1 other location - About 4 hrs to fix
        tests/test_functional.py on lines 626..638

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 81.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

            def test_no_result_log_created_when_data_is_empty(self, node, testapp):
                assert not node.result_logs.count()
        
                resp = testapp.post_json(url_for('api.logger'), {
                    'node_key': node.node_key,
        Severity: Major
        Found in tests/test_functional.py and 1 other location - About 4 hrs to fix
        tests/test_functional.py on lines 559..571

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 81.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

                            mgr.handle_log_entry({
                                'data': [
                                    {
                                        "diffResults": {
                                            "added": [{'op': 'added'}],
        Severity: Major
        Found in tests/test_functional.py and 1 other location - About 1 hr to fix
        tests/test_functional.py on lines 1522..1535

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 46.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

                        data = [
                            {
                              "diffResults": {
                                "added": [
                                  {
        Severity: Major
        Found in tests/test_functional.py and 1 other location - About 1 hr to fix
        tests/test_functional.py on lines 1398..1408

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 46.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 3 locations. Consider refactoring.
        Open

                assert resp.json['packs'][pack.name]['queries'][query.name]['removed'] == True
        Severity: Major
        Found in tests/test_functional.py and 2 other locations - About 1 hr to fix
        tests/test_functional.py on lines 373..373
        tests/test_functional.py on lines 395..395

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 45.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 3 locations. Consider refactoring.
        Open

                assert resp.json['packs'][pack.name]['queries'][query.name]['query'] == sql
        Severity: Major
        Found in tests/test_functional.py and 2 other locations - About 1 hr to fix
        tests/test_functional.py on lines 374..374
        tests/test_functional.py on lines 395..395

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 45.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 3 locations. Consider refactoring.
        Open

                assert resp.json['packs'][pack.name]['queries'][query.name]['query'] == sql
        Severity: Major
        Found in tests/test_functional.py and 2 other locations - About 1 hr to fix
        tests/test_functional.py on lines 373..373
        tests/test_functional.py on lines 374..374

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 45.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 4 locations. Consider refactoring.
        Open

                resp = testapp.post_json(url_for('api.distributed_write'), {
                    'node_key': node.node_key,
                    'queries': {
                        t.guid: '',
                    }
        Severity: Major
        Found in tests/test_functional.py and 3 other locations - About 50 mins to fix
        tests/test_functional.py on lines 1016..1022
        tests/test_functional.py on lines 1067..1073
        tests/test_functional.py on lines 1082..1088

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 40.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 4 locations. Consider refactoring.
        Open

                resp = testapp.post_json(url_for('api.distributed_write'), {
                    'node_key': foo.node_key,
                    'queries': {
                        t2.guid: 'bar'
                    }
        Severity: Major
        Found in tests/test_functional.py and 3 other locations - About 50 mins to fix
        tests/test_functional.py on lines 949..955
        tests/test_functional.py on lines 1016..1022
        tests/test_functional.py on lines 1067..1073

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 40.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 4 locations. Consider refactoring.
        Open

                resp = testapp.post_json(url_for('api.distributed_write'), {
                    'node_key': node.node_key,
                    'queries': {
                        t.guid: '',
                    }
        Severity: Major
        Found in tests/test_functional.py and 3 other locations - About 50 mins to fix
        tests/test_functional.py on lines 949..955
        tests/test_functional.py on lines 1067..1073
        tests/test_functional.py on lines 1082..1088

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 40.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 4 locations. Consider refactoring.
        Open

                resp = testapp.post_json(url_for('api.distributed_write'), {
                    'node_key': foo.node_key,
                    'queries': {
                        t1.guid: 'bar'
                    }
        Severity: Major
        Found in tests/test_functional.py and 3 other locations - About 50 mins to fix
        tests/test_functional.py on lines 949..955
        tests/test_functional.py on lines 1016..1022
        tests/test_functional.py on lines 1082..1088

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 40.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 4 locations. Consider refactoring.
        Open

            def test_missing_node_key(self, node, testapp):
                resp = testapp.post_json(url_for('api.logger'), {
                    'foo': 'bar'})
                assert not resp.normal_body
        Severity: Major
        Found in tests/test_functional.py and 3 other locations - About 35 mins to fix
        tests/test_functional.py on lines 308..311
        tests/test_functional.py on lines 313..316
        tests/test_functional.py on lines 465..468

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 37.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 4 locations. Consider refactoring.
        Open

            def test_bad_post_request(self, node, testapp):
                resp = testapp.post(url_for('api.logger'), {
                    'foo': 'bar'})
                assert not resp.normal_body
        Severity: Major
        Found in tests/test_functional.py and 3 other locations - About 35 mins to fix
        tests/test_functional.py on lines 308..311
        tests/test_functional.py on lines 313..316
        tests/test_functional.py on lines 470..473

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 37.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 6 locations. Consider refactoring.
        Open

                resp = testapp.post(url_for('manage.add_pack'), upload_files=[
                    ('pack', 'foo.conf', json.dumps(packdata).encode('utf-8')),
        Severity: Major
        Found in tests/test_functional.py and 5 other locations - About 35 mins to fix
        tests/test_functional.py on lines 1163..1164
        tests/test_functional.py on lines 1181..1182
        tests/test_functional.py on lines 1240..1241
        tests/test_functional.py on lines 1254..1255
        tests/test_functional.py on lines 1295..1296

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 37.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 6 locations. Consider refactoring.
        Open

                resp = testapp.post(url_for('manage.add_pack'), upload_files=[
                    ('pack', 'foo.conf', json.dumps(packdata).encode('utf-8')),
        Severity: Major
        Found in tests/test_functional.py and 5 other locations - About 35 mins to fix
        tests/test_functional.py on lines 1163..1164
        tests/test_functional.py on lines 1181..1182
        tests/test_functional.py on lines 1254..1255
        tests/test_functional.py on lines 1272..1273
        tests/test_functional.py on lines 1295..1296

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 37.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 6 locations. Consider refactoring.
        Open

                resp = testapp.post(url_for('manage.add_pack'), upload_files=[
                    ('pack', 'foo.conf', json.dumps(packdata).encode('utf-8')),
        Severity: Major
        Found in tests/test_functional.py and 5 other locations - About 35 mins to fix
        tests/test_functional.py on lines 1163..1164
        tests/test_functional.py on lines 1240..1241
        tests/test_functional.py on lines 1254..1255
        tests/test_functional.py on lines 1272..1273
        tests/test_functional.py on lines 1295..1296

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 37.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 6 locations. Consider refactoring.
        Open

                resp = testapp.post(url_for('manage.add_pack'), upload_files=[
                    ('pack', 'foo.conf', json.dumps(SAMPLE_PACK).encode('utf-8')),
        Severity: Major
        Found in tests/test_functional.py and 5 other locations - About 35 mins to fix
        tests/test_functional.py on lines 1163..1164
        tests/test_functional.py on lines 1181..1182
        tests/test_functional.py on lines 1240..1241
        tests/test_functional.py on lines 1272..1273
        tests/test_functional.py on lines 1295..1296

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 37.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 6 locations. Consider refactoring.
        Open

                resp = testapp.post(url_for('manage.add_pack'), upload_files=[
                    ('pack', 'foo.conf', json.dumps(packdata).encode('utf-8')),
        Severity: Major
        Found in tests/test_functional.py and 5 other locations - About 35 mins to fix
        tests/test_functional.py on lines 1163..1164
        tests/test_functional.py on lines 1181..1182
        tests/test_functional.py on lines 1240..1241
        tests/test_functional.py on lines 1254..1255
        tests/test_functional.py on lines 1272..1273

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 37.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 6 locations. Consider refactoring.
        Open

                resp = testapp.post(url_for('manage.add_pack'), upload_files=[
                    ('pack', 'foo.conf', json.dumps(SAMPLE_PACK).encode('utf-8')),
        Severity: Major
        Found in tests/test_functional.py and 5 other locations - About 35 mins to fix
        tests/test_functional.py on lines 1181..1182
        tests/test_functional.py on lines 1240..1241
        tests/test_functional.py on lines 1254..1255
        tests/test_functional.py on lines 1272..1273
        tests/test_functional.py on lines 1295..1296

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 37.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 4 locations. Consider refactoring.
        Open

            def test_bad_post_request(self, node, testapp):
                resp = testapp.post(url_for('api.configuration'), {
                    'foo': 'bar'})
                assert not resp.normal_body
        Severity: Major
        Found in tests/test_functional.py and 3 other locations - About 35 mins to fix
        tests/test_functional.py on lines 313..316
        tests/test_functional.py on lines 465..468
        tests/test_functional.py on lines 470..473

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 37.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 4 locations. Consider refactoring.
        Open

            def test_missing_node_key(self, node, testapp):
                resp = testapp.post_json(url_for('api.configuration'), {
                    'foo': 'bar'})
                assert not resp.normal_body
        Severity: Major
        Found in tests/test_functional.py and 3 other locations - About 35 mins to fix
        tests/test_functional.py on lines 308..311
        tests/test_functional.py on lines 465..468
        tests/test_functional.py on lines 470..473

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 37.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Identical blocks of code found in 3 locations. Consider refactoring.
        Open

                resp = testapp.post_json(url_for('api.logger'), {
                    'node_key': node.node_key,
                    'data': data,
                    'log_type': 'result',
                },
        Severity: Minor
        Found in tests/test_functional.py and 2 other locations - About 30 mins to fix
        tests/test_functional.py on lines 603..608
        tests/test_functional.py on lines 698..703

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 36.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Identical blocks of code found in 3 locations. Consider refactoring.
        Open

                resp = testapp.post_json(url_for('api.logger'), {
                    'node_key': node.node_key,
                    'data': data,
                    'log_type': 'result',
                },
        Severity: Minor
        Found in tests/test_functional.py and 2 other locations - About 30 mins to fix
        tests/test_functional.py on lines 698..703
        tests/test_functional.py on lines 791..796

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 36.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Identical blocks of code found in 3 locations. Consider refactoring.
        Open

                resp = testapp.post_json(url_for('api.logger'), {
                    'node_key': node.node_key,
                    'data': data,
                    'log_type': 'result',
                },
        Severity: Minor
        Found in tests/test_functional.py and 2 other locations - About 30 mins to fix
        tests/test_functional.py on lines 603..608
        tests/test_functional.py on lines 791..796

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 36.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 09:59:06 2016 UTC","unixTime":"1468850346","columns":{"computer_name":"foobar"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 09:59:06 2016 UTC","unixTime":"1468850346","columns":{"computer_name":"barbaz"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:17:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"kungpow"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:12:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:12:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Continuation line missing indentation or outdented
        Open

                extra_environ=dict(REMOTE_ADDR='127.0.0.2')
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Continuation line missing indentation or outdented
        Open

                extra_environ=dict(REMOTE_ADDR='127.0.0.2')
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Continuation line missing indentation or outdented
        Open

                extra_environ=dict(REMOTE_ADDR='127.0.0.2')
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Continuation line missing indentation or outdented
        Open

                extra_environ=dict(REMOTE_ADDR='127.0.0.2')
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Continuation line missing indentation or outdented
        Open

                extra_environ=dict(REMOTE_ADDR='127.0.0.2')
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Continuation line missing indentation or outdented
        Open

                extra_environ=dict(REMOTE_ADDR='127.0.0.3')
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 09:59:06 2016 UTC","unixTime":"1468850346","columns":{"computer_name":"foobar"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:12:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:12:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:12:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:17:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"kungpow"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:17:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"kungpow"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:00:24 2016 UTC","unixTime":"1468850424","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Comparison to true should be 'if cond is true:' or 'if cond:'
        Open

                assert resp.json['packs'][pack.name]['queries'][query.name]['removed'] == True
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Comparison to singletons should use "is" or "is not".

        Comparisons to singletons like None should always be done
        with "is" or "is not", never the equality operators.
        
        Okay: if arg is not None:
        E711: if arg != None:
        E711: if None == arg:
        E712: if arg == True:
        E712: if False == arg:
        
        Also, beware of writing if x when you really mean if x is not None
        -- e.g. when testing whether a variable or argument that defaults to
        None was set to some other value.  The other value might have a type
        (such as a container) that could be false in a boolean context!

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:17:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"kungpow"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Continuation line missing indentation or outdented
        Open

                extra_environ=dict(REMOTE_ADDR='127.0.0.2')
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:12:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:00:24 2016 UTC","unixTime":"1468850424","columns":{"computer_name":"barbaz"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:00:24 2016 UTC","unixTime":"1468850424","columns":{"computer_name":"barbaz"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:00:24 2016 UTC","unixTime":"1468850424","columns":{"computer_name":"barbaz"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:00:24 2016 UTC","unixTime":"1468850424","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:00:24 2016 UTC","unixTime":"1468850424","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:12:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:12:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Continuation line missing indentation or outdented
        Open

                extra_environ=dict(REMOTE_ADDR='127.0.0.2')
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Continuation line missing indentation or outdented
        Open

                extra_environ=dict(REMOTE_ADDR='127.0.0.2')
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Continuation line missing indentation or outdented
        Open

                extra_environ=dict(REMOTE_ADDR='127.0.0.2')
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Continuation line under-indented for visual indent
        Open

                    .replace("&", "&amp;").replace("<", "&lt;").replace(">", "&gt;")
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:00:24 2016 UTC","unixTime":"1468850424","columns":{"computer_name":"barbaz"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:17:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"kungpow"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:17:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"kungpow"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:12:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:17:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"kungpow"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Continuation line missing indentation or outdented
        Open

                extra_environ=dict(REMOTE_ADDR='127.0.0.2')
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:00:24 2016 UTC","unixTime":"1468850424","columns":{"computer_name":"barbaz"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:00:24 2016 UTC","unixTime":"1468850424","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:12:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:12:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Continuation line missing indentation or outdented
        Open

                extra_environ=dict(REMOTE_ADDR='127.0.0.2')
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Continuation line missing indentation or outdented
        Open

                {
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Continuation line missing indentation or outdented
        Open

                extra_environ=dict(REMOTE_ADDR='127.0.0.2')
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 09:59:06 2016 UTC","unixTime":"1468850346","columns":{"computer_name":"foobar"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 09:59:06 2016 UTC","unixTime":"1468850346","columns":{"computer_name":"foobar"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 09:59:06 2016 UTC","unixTime":"1468850346","columns":{"computer_name":"barbaz"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:00:24 2016 UTC","unixTime":"1468850424","columns":{"computer_name":"barbaz"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:00:24 2016 UTC","unixTime":"1468850424","columns":{"computer_name":"barbaz"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Continuation line missing indentation or outdented
        Open

                extra_environ=dict(REMOTE_ADDR='127.0.0.2')
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:00:24 2016 UTC","unixTime":"1468850424","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 09:59:06 2016 UTC","unixTime":"1468850346","columns":{"computer_name":"foobar"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:00:24 2016 UTC","unixTime":"1468850424","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 09:59:06 2016 UTC","unixTime":"1468850346","columns":{"computer_name":"barbaz"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:00:24 2016 UTC","unixTime":"1468850424","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 09:59:06 2016 UTC","unixTime":"1468850346","columns":{"computer_name":"barbaz"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:00:24 2016 UTC","unixTime":"1468850424","columns":{"computer_name":"barbaz"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:17:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"kungpow"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:00:24 2016 UTC","unixTime":"1468850424","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:17:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"kungpow"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:12:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:12:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:12:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:17:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"kungpow"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Continuation line missing indentation or outdented
        Open

                extra_environ=dict(REMOTE_ADDR='127.0.0.2')
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Continuation line missing indentation or outdented
        Open

                {
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 09:59:06 2016 UTC","unixTime":"1468850346","columns":{"computer_name":"foobar"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 09:59:06 2016 UTC","unixTime":"1468850346","columns":{"computer_name":"foobar"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 09:59:06 2016 UTC","unixTime":"1468850346","columns":{"computer_name":"foobar"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 09:59:06 2016 UTC","unixTime":"1468850346","columns":{"computer_name":"barbaz"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 09:59:06 2016 UTC","unixTime":"1468850346","columns":{"computer_name":"barbaz"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:00:24 2016 UTC","unixTime":"1468850424","columns":{"computer_name":"barbaz"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:00:24 2016 UTC","unixTime":"1468850424","columns":{"computer_name":"barbaz"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:12:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:00:24 2016 UTC","unixTime":"1468850424","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:17:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"kungpow"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:17:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"kungpow"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:12:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:12:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:12:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:17:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"kungpow"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Continuation line missing indentation or outdented
        Open

                extra_environ=dict(REMOTE_ADDR='127.0.0.2')
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Continuation line missing indentation or outdented
        Open

                extra_environ=dict(REMOTE_ADDR='127.0.0.2')
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 09:59:06 2016 UTC","unixTime":"1468850346","columns":{"computer_name":"foobar"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 09:59:06 2016 UTC","unixTime":"1468850346","columns":{"computer_name":"barbaz"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 09:59:06 2016 UTC","unixTime":"1468850346","columns":{"computer_name":"barbaz"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:00:24 2016 UTC","unixTime":"1468850424","columns":{"computer_name":"barbaz"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:17:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"kungpow"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:17:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"kungpow"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:12:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:12:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:17:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"kungpow"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:17:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"kungpow"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:17:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"kungpow"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 09:59:06 2016 UTC","unixTime":"1468850346","columns":{"computer_name":"foobar"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 09:59:06 2016 UTC","unixTime":"1468850346","columns":{"computer_name":"barbaz"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:17:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"kungpow"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:17:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"kungpow"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Continuation line missing indentation or outdented
        Open

                extra_environ=dict(REMOTE_ADDR='127.0.0.3')
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 09:59:06 2016 UTC","unixTime":"1468850346","columns":{"computer_name":"barbaz"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:17:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"kungpow"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:12:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:12:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Continuation line missing indentation or outdented
        Open

                extra_environ=dict(REMOTE_ADDR='127.0.0.2')
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Continuation line missing indentation or outdented
        Open

                extra_environ=dict(REMOTE_ADDR='127.0.0.2')
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Continuation line under-indented for visual indent
        Open

                    .replace("'", "&#39;").replace('"', "&quot;")
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 09:59:06 2016 UTC","unixTime":"1468850346","columns":{"computer_name":"foobar"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Continuation line missing indentation or outdented
        Open

                extra_environ=dict(REMOTE_ADDR='127.0.0.2')
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 09:59:06 2016 UTC","unixTime":"1468850346","columns":{"computer_name":"foobar"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 09:59:06 2016 UTC","unixTime":"1468850346","columns":{"computer_name":"barbaz"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Closing bracket does not match visual indentation
        Open

                    )
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 09:59:06 2016 UTC","unixTime":"1468850346","columns":{"computer_name":"barbaz"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:00:24 2016 UTC","unixTime":"1468850424","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:00:24 2016 UTC","unixTime":"1468850424","columns":{"computer_name":"barbaz"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:00:24 2016 UTC","unixTime":"1468850424","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:17:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"kungpow"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:12:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:00:24 2016 UTC","unixTime":"1468850424","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:12:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"foobar"},"action":"removed"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ':'
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:17:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"kungpow"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        Missing whitespace after ','
        Open

                    {"name":"computer_name","hostIdentifier":"foobar.localdomain","calendarTime":"Mon Jul 18 10:17:38 2016 UTC","unixTime":"1468851458","columns":{"computer_name":"kungpow"},"action":"added"},
        Severity: Minor
        Found in tests/test_functional.py by pep8

        Each comma, semicolon or colon should be followed by whitespace.

        Okay: [a, b]
        Okay: (3,)
        Okay: a[1:4]
        Okay: a[:4]
        Okay: a[1:]
        Okay: a[1:4:2]
        E231: ['a','b']
        E231: foo(bar,baz)
        E231: [{'a':'b'}]

        There are no issues that match your filters.

        Category
        Status