769 ('OneFetchStep', |
769 ('OneFetchStep', |
770 [('Any X WHERE X has_text "bla", EXISTS(X owned_by 5), X is Basket', |
770 [('Any X WHERE X has_text "bla", EXISTS(X owned_by 5), X is Basket', |
771 [{'X': 'Basket'}]), |
771 [{'X': 'Basket'}]), |
772 ('Any X WHERE X has_text "bla", EXISTS(X owned_by 5), X is CWUser', |
772 ('Any X WHERE X has_text "bla", EXISTS(X owned_by 5), X is CWUser', |
773 [{'X': 'CWUser'}]), |
773 [{'X': 'CWUser'}]), |
774 ('Any X WHERE X has_text "bla", X is IN(BaseTransition, Card, Comment, Division, Email, EmailThread, File, Folder, Image, Note, Personne, Societe, State, SubDivision, Tag, Transition, Workflow, WorkflowTransition)', |
774 ('Any X WHERE X has_text "bla", X is IN(Card, Comment, Division, Email, EmailThread, File, Folder, Image, Note, Personne, Societe, SubDivision, Tag)', |
775 [{'X': 'BaseTransition'}, {'X': 'Card'}, {'X': 'Comment'}, |
775 [{'X': 'Card'}, {'X': 'Comment'}, |
776 {'X': 'Division'}, {'X': 'Email'}, {'X': 'EmailThread'}, |
776 {'X': 'Division'}, {'X': 'Email'}, {'X': 'EmailThread'}, |
777 {'X': 'File'}, {'X': 'Folder'}, {'X': 'Image'}, |
777 {'X': 'File'}, {'X': 'Folder'}, {'X': 'Image'}, |
778 {'X': 'Note'}, {'X': 'Personne'}, {'X': 'Societe'}, |
778 {'X': 'Note'}, {'X': 'Personne'}, {'X': 'Societe'}, |
779 {'X': 'State'}, {'X': 'SubDivision'}, {'X': 'Tag'}, |
779 {'X': 'SubDivision'}, {'X': 'Tag'}]),], |
780 {'X': 'Transition'}, {'X': 'Workflow'}, {'X': 'WorkflowTransition'}]),], |
|
781 None, None, [self.system], {}, []), |
780 None, None, [self.system], {}, []), |
782 ]) |
781 ]) |
783 ]) |
782 ]) |
784 |
783 |
785 def test_security_has_text_limit_offset(self): |
784 def test_security_has_text_limit_offset(self): |
796 ('FetchStep', |
795 ('FetchStep', |
797 [('Any X WHERE X has_text "bla", EXISTS(X owned_by 5), X is Basket', |
796 [('Any X WHERE X has_text "bla", EXISTS(X owned_by 5), X is Basket', |
798 [{'X': 'Basket'}]), |
797 [{'X': 'Basket'}]), |
799 ('Any X WHERE X has_text "bla", EXISTS(X owned_by 5), X is CWUser', |
798 ('Any X WHERE X has_text "bla", EXISTS(X owned_by 5), X is CWUser', |
800 [{'X': 'CWUser'}]), |
799 [{'X': 'CWUser'}]), |
801 ('Any X WHERE X has_text "bla", X is IN(BaseTransition, Card, Comment, Division, Email, EmailThread, File, Folder, Image, Note, Personne, Societe, State, SubDivision, Tag, Transition, Workflow, WorkflowTransition)', |
800 ('Any X WHERE X has_text "bla", X is IN(Card, Comment, Division, Email, EmailThread, File, Folder, Image, Note, Personne, Societe, SubDivision, Tag)', |
802 [{'X': 'BaseTransition'}, {'X': 'Card'}, {'X': 'Comment'}, |
801 [{'X': 'Card'}, {'X': 'Comment'}, |
803 {'X': 'Division'}, {'X': 'Email'}, {'X': 'EmailThread'}, |
802 {'X': 'Division'}, {'X': 'Email'}, {'X': 'EmailThread'}, |
804 {'X': 'File'}, {'X': 'Folder'}, {'X': 'Image'}, |
803 {'X': 'File'}, {'X': 'Folder'}, {'X': 'Image'}, |
805 {'X': 'Note'}, {'X': 'Personne'}, {'X': 'Societe'}, |
804 {'X': 'Note'}, {'X': 'Personne'}, {'X': 'Societe'}, |
806 {'X': 'State'}, {'X': 'SubDivision'}, {'X': 'Tag'}, |
805 {'X': 'SubDivision'}, {'X': 'Tag'}])], |
807 {'X': 'Transition'}, {'X': 'Workflow'}, {'X': 'WorkflowTransition'}])], |
|
808 [self.system], {}, {'X': 'table0.C0'}, []), |
806 [self.system], {}, {'X': 'table0.C0'}, []), |
809 ]), |
807 ]), |
810 ('OneFetchStep', |
808 ('OneFetchStep', |
811 [('Any X LIMIT 10 OFFSET 10', |
809 [('Any X LIMIT 10 OFFSET 10', |
812 [{'X': 'Affaire'}, {'X': 'BaseTransition'}, {'X': 'Basket'}, |
810 [{'X': 'Affaire'}, {'X': 'Basket'}, |
813 {'X': 'CWUser'}, {'X': 'Card'}, {'X': 'Comment'}, |
811 {'X': 'CWUser'}, {'X': 'Card'}, {'X': 'Comment'}, |
814 {'X': 'Division'}, {'X': 'Email'}, {'X': 'EmailThread'}, |
812 {'X': 'Division'}, {'X': 'Email'}, {'X': 'EmailThread'}, |
815 {'X': 'File'}, {'X': 'Folder'}, {'X': 'Image'}, |
813 {'X': 'File'}, {'X': 'Folder'}, {'X': 'Image'}, |
816 {'X': 'Note'}, {'X': 'Personne'}, {'X': 'Societe'}, |
814 {'X': 'Note'}, {'X': 'Personne'}, {'X': 'Societe'}, |
817 {'X': 'State'}, {'X': 'SubDivision'}, {'X': 'Tag'}, |
815 {'X': 'SubDivision'}, {'X': 'Tag'}])], |
818 {'X': 'Transition'}, {'X': 'Workflow'}, {'X': 'WorkflowTransition'}])], |
|
819 10, 10, [self.system], {'X': 'table0.C0'}, []) |
816 10, 10, [self.system], {'X': 'table0.C0'}, []) |
820 ]) |
817 ]) |
821 |
818 |
822 def test_security_user(self): |
819 def test_security_user(self): |
823 """a guest user trying to see another user: EXISTS(X owned_by U) is automatically inserted""" |
820 """a guest user trying to see another user: EXISTS(X owned_by U) is automatically inserted""" |