Esempio n. 1
0
 def test_enums_do_not_have_message_fields(self, enum_mod):
     node = extract_node("""
         from {} import Variable
         Variable.ParseFromString("blah")
     """.format(enum_mod))
     msg = make_message(node.func, 'Variable', 'ParseFromString')
     self.assert_adds_messages(node, msg)
Esempio n. 2
0
 def test_issue16_missing_toplevel_enum(self, nested_enum_mod):
     node = extract_node("""
         import {} as sut
         sut.UNO
     """.format(nested_enum_mod))
     msg = make_message(node, nested_enum_mod, 'UNO')
     self.assert_adds_messages(node, msg)
Esempio n. 3
0
 def test_messages_do_not_have_enum_fields(self, nested_enum_mod):
     node = extract_node("""
         from {} import Message
         Message.Value("ONE")
     """.format(nested_enum_mod))
     msg = make_message(node.func, 'Message', 'Value')
     self.assert_adds_messages(node, msg)
Esempio n. 4
0
 def test_nested_message_with_unrelated_enum_does_not_warn(
         self, nested_plus_enum_mod):
     self.assert_no_messages(
         extract_node("""
         from {} import Outer
         inner = Outer.Inner(inner_field='foo')  #@
     """.format(nested_plus_enum_mod)))
Esempio n. 5
0
 def test_star_import_enum_should_warn(self, enum_mod):
     node = extract_node("""
         from {} import *
         Variable.should_warn  #@
     """.format(enum_mod))
     msg = make_message(node, enum_mod + '.Variable', 'should_warn')
     self.assert_adds_messages(node, msg)
Esempio n. 6
0
 def test_missing_value_uniferable_no_error(self, enum_mod):
     node = extract_node("""
     from {} import Variable
     a = get_external()
     Variable.Value(a)
     """.format(enum_mod))
     self.assert_no_messages(node)
Esempio n. 7
0
 def test_imports_of_wellknown_types(self, wkt_mod):
     node = extract_node("""
         from {} import UsesTimestamp
         msg = UsesTimestamp()
         msg.ts.GetCurrentTime()
     """.format(wkt_mod))
     self.assert_no_messages(node)
Esempio n. 8
0
 def test_issue21_nested_enum_annassign(self, nested_enum_mod):
     self.assert_no_messages(
         extract_node("""
         import {} as sut
         def fun(type_: sut.Message.Inner):
             pass
     """.format(nested_enum_mod)))
Esempio n. 9
0
 def test_name_from_uninferable_no_warn(self, enum_mod):
     node = extract_node("""
         from {} import Variable
         b = get_external_value()
         Variable.Name(b)
     """.format(enum_mod))
     self.assert_no_messages(node)
Esempio n. 10
0
 def test_issue16_nested_enum_definition_warns(self, nested_enum_mod):
     node = extract_node("""
         import {} as sut
         sut.Message.should_warn
     """.format(nested_enum_mod))
     msg = make_message(node, nested_enum_mod + '.Message', 'should_warn')
     self.assert_adds_messages(node, msg)
Esempio n. 11
0
 def test_fixme_issue16_nested_enum_definition_no_errors(
         self, nested_enum_mod):
     self.assert_no_messages(
         extract_node("""
         import {} as sut
         sut.Message.UNO
     """.format(nested_enum_mod)))
Esempio n. 12
0
 def test_issue21_missing_field_on_nested_enum(self, nested_enum_mod):
     node = extract_node("""
         import {} as sut
         sut.Message.Inner.NOPE = 123
     """.format(nested_enum_mod))
     msg = make_message(node.targets[0], 'Inner', 'NOPE')
     self.assert_adds_messages(node, msg)
Esempio n. 13
0
 def test_issue16_nested_enum_definition_direct_reference_no_errors(
         self, nested_enum_mod):
     self.assert_no_messages(
         extract_node("""
         import {mod} as sut
         {mod}.Message.Inner.UNO
     """.format(mod=nested_enum_mod)))
Esempio n. 14
0
 def test_nested_enum_dict(self):
     outer = extract_node("""
     from fixture.innerclass_dict_pb2 import OuterClass
     enum = OuterClass.InnerEnum.ENUM_1
     outer = OuterClass(enum=enum)
     """)
     with self.assertNoMessages():
         self.walk(outer.root())
Esempio n. 15
0
 def test_reexported_protobuf_message_definition_warns(self, outer_mod):
     node = extract_node("""
         import outer
         t = outer.Test()
         t.should_warn = 123  #@
     """)
     msg = make_message(node, 'outer.Test', 'should_warn')
     self.assert_adds_messages(node, msg)
Esempio n. 16
0
 def test_issue16_package_missing_toplevel_enum(self,
                                                package_nested_enum_mod):
     node = extract_node("""
         import {mod}
         {mod}.UNO
     """.format(mod=nested_enum_mod))
     msg = make_message(node, nested_enum_mod, 'UNO')
     self.assert_adds_messages(node, msg)
Esempio n. 17
0
 def test_nested_enum_dict(self, innerclass_dict_mod):
     outer = extract_node("""
     from {} import OuterClass
     enum = OuterClass.InnerEnum.ENUM_1
     outer = OuterClass(enum=enum)
     """.format(innerclass_dict_mod))
     with self.assertNoMessages():
         self.walk(outer.root())
Esempio n. 18
0
 def test_issue16_package_nested_enum_definition_warns(
         self, package_nested_enum_mod):
     node = extract_node("""
         import {mod}
         {mod}.Message.should_warn
     """.format(mod=package_nested_enum_mod))
     msg = make_message(node, 'Message', 'should_warn')
     self.assert_adds_messages(node, msg)
Esempio n. 19
0
 def test_issue10_imported_message_warns(self, parent_mod):
     node = extract_node("""
     from {} import Parent
     p = Parent()
     p.child.should_warn = 123  #@
     """.format(parent_mod))
     msg = make_message(node.targets[0], 'Child', 'should_warn')
     self.assert_adds_messages(node, msg)
Esempio n. 20
0
 def test_looks_like_enum_value_should_not_warn(self, enum_mod):
     node = extract_node("""
     class Variable(object):
         def Value(*args):
             pass
     Variable.Value('should_not_warn', 'even_with_extra_args')
     """.format(enum_mod))
     self.assert_no_messages(node)
Esempio n. 21
0
 def test_import_enum_missing_attribute_by_value_warns(self, enum_mod):
     node = extract_node("""
     from {} import Variable
     Variable.Value('should_warn')  #@
     """.format(enum_mod))
     msg = pylint.testutils.Message('protobuf-enum-value',
                                    node=node,
                                    args=('should_warn', 'Variable'))
     self.assert_adds_messages(node, msg)
Esempio n. 22
0
 def test_names_are_not_values(self, enum_mod):
     node = extract_node("""
         from {} import Variable
         Variable.Name('CONTINUOUS')
     """.format(enum_mod))
     msg = pylint.testutils.Message('protobuf-enum-value',
                                    node=node,
                                    args=('CONTINUOUS', 'Variable'))
     self.assert_adds_messages(node, msg)
Esempio n. 23
0
 def test_name_from_invalid_value_warns(self, enum_mod):
     node = extract_node("""
         from {} import Variable
         Variable.Name(123)
     """.format(enum_mod))
     msg = pylint.testutils.Message('protobuf-enum-value',
                                    node=node,
                                    args=(123, 'Variable'))
     self.assert_adds_messages(node, msg)
Esempio n. 24
0
 def test_missing_value_on_nested_enum_warns(self, nested_enum_mod):
     node = extract_node("""
     from {} import Message
     Message.Inner.Value('should_warn')
     """.format(nested_enum_mod))
     msg = pylint.testutils.Message('protobuf-enum-value',
                                    node=node,
                                    args=('should_warn', 'Inner'))
     self.assert_adds_messages(node, msg)
Esempio n. 25
0
 def test_import_enum_missing_attributes_warns(self, enum_mod):
     node = extract_node("""
         from {} import Variable
         print(
             Variable.should_warn  #@
         )
     """.format(enum_mod))
     msg = make_message(node, enum_mod + '.Variable', 'should_warn')
     self.assert_adds_messages(node, msg)
Esempio n. 26
0
 def test_issue18_renamed_from_import_no_assertion_error(self, parent_mod):
     node = extract_node("""
     import {0}
     import {0} as foo
     p = {0}.Parent()
     p.should_warn = 123
     """.format(parent_mod))
     msg = make_message(node.targets[0], 'Parent', 'should_warn')
     self.assert_adds_messages(node, msg)
Esempio n. 27
0
 def test_import_enum_attributes_no_errors(self, enum_mod):
     self.assert_no_messages(
         extract_node("""
         from {} import Variable
         print(Variable.DISCRETE)
     """.format(enum_mod)))
Esempio n. 28
0
 def test_issue16_toplevel_enum(self, nested_enum_mod):
     self.assert_no_messages(
         extract_node("""
         import {mod}
         {mod}.ONE
     """.format(mod=nested_enum_mod)))
Esempio n. 29
0
 def test_import_enum_values_no_errors(self, enum_mod):
     self.assert_no_messages(
         extract_node("""
         from {} import DISCRETE
         print(DISCRETE)
     """.format(enum_mod)))
Esempio n. 30
0
 def test_issue16_nested_enum_definition_no_errors(self, nested_enum_mod):
     self.assert_no_messages(
         extract_node("""
         import {mod}
         {mod}.Message.UNO
     """.format(mod=nested_enum_mod)))