рд╢реБрд░реБрдЖрддреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЕрдЪреНрдЫрд╛, рдмреБрд░рд╛, рдмреБрд░рд╛ - рдкрд░реАрдХреНрд╖рдг

рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛: рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп рдХреЛ рдПрдХ рдХрд╛рд░реНрдп рдорд┐рд▓рд╛ - рдПрдХ рд╕реНрдХреНрд░реИрдо рдЯреАрдо рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдЙрд╕ рдкрд░ рдПрдХ рд╕реЗрдореЗрд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдВред рд╣рдорд╛рд░реА рдЯреАрдо рдиреЗ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдХрд╛рд╕ (рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ + рдлреНрд▓рд╛рд╕реНрдХ) рдХреЛ рдЪреБрдирд╛ред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ рдФрд░ рд╣рдордиреЗ рдмреИрдХрдПрдВрдб рдкрд░ рдХреНрдпрд╛ рдХрд┐рдпрд╛, рдЗрд╕рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред



рдЙрдореНрдореАрджреЛрдВ


рдЯреЗрд╕реНрдЯ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕рднреА рдХреЛ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП (рд╕реНрд╡рдпрдВ рд╕рд╣рд┐рдд) рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рджреВрд╕рд░реЗ, рд╡реЗ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдкрд░реАрдХреНрд╖рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд╡рд░ рдХрд┐рдП рдЧрдП рдХреЛрдб рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрдирд╛ рдПрдХ рдЙрдкрдпреЛрдЧреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЖрдк рдЕрдХреНрд╕рд░ рд╕рдорд╕реНрдпрд╛ рдХреНрд╖реЗрддреНрд░реЛрдВ рдкрд░ рдареЛрдХрд░ рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдХреБрдЫ рдЪрд░рдо рдорд╛рдорд▓реЛрдВ рдХреЛ рдпрд╛рдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрджрд┐ред


рдХрд┐рд╕реА рднреА рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдХрдо рд╕реЗ рдХрдо рддреАрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдпрд╛рдж рд░рдЦрдирд╛ рд╣реЛрдЧрд╛:


  • рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдРрд╕реЗ рдкрд░реАрдХреНрд╖рдг рд╣реИрдВ рдЬреЛ рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
  • рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдг рдРрд╕реЗ рдкрд░реАрдХреНрд╖рдг рд╣реИрдВ рдЬреЛ рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХрдИ рдХрд╛рд░реНрдп рдПрдХ рд╕рд╛рде рд╕рд╣реА рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВред
  • рд╕рд┐рд╕реНрдЯрдо рдкрд░реАрдХреНрд╖рдг рд╡реЗ рдкрд░реАрдХреНрд╖рдг рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╕рдВрдкреВрд░реНрдг рд╕рд┐рд╕реНрдЯрдо рд╡рд╣ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреА рдЙрд╕реЗ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЧреВрдЧрд▓ рдХреЗ рдПрдХ рдкреЛрд╕реНрдЯ рдореЗрдВ , рддреАрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреА рдЧрдИ рдереАред "рдЫреЛрдЯрд╛", "рдордзреНрдпрдо" рдФрд░ "рдмрдбрд╝рд╛"ред



рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг


рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдЫреЛрдЯреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИрдВ - рдЙрдиреНрд╣реЗрдВ рддреЗрдЬ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдХреЗрд╡рд▓ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рдЧреЛрдВ рдХреА рд╢реБрджреНрдзрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред рдЙрдиреНрд╣реЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрдЯрд┐рд▓ рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡реЗ рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ / рдорд╛рдирдХреЛрдВ рдХреЗ рдЕрдиреБрдкрд╛рд▓рди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЕрдХреНрд╕рд░ рд╡реЗ рдкреНрд░рддрд┐рдЧрдорди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддреЗ рд╣реИрдВред


рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдг


рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдг рд╡реЗ рдкрд░реАрдХреНрд╖рдг рд╣реИрдВ рдЬреЛ рдХрдИ рдореЙрдбреНрдпреВрд▓ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рдордп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд╡рд╛рддрд╛рд╡рд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рд╡реЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ рдХрд┐ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдореЙрдбреНрдпреВрд▓ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╛рдиреА рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдЕрдкреЗрдХреНрд╖рд┐рдд рдФрд░ рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреА рдЕрдиреБрд░реВрдкрддрд╛ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ - рдЬреЛ рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдореЙрдбреНрдпреВрд▓ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдмрд╛рддрдЪреАрдд рдХрд░рддреЗ рд╣реИрдВред


рд╕рд┐рд╕реНрдЯрдо рдкрд░реАрдХреНрд╖рдг


рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдЙрдЪреНрдЪрддрдо рд╕реНрддрд░ рд╣реИред рд╕рд┐рд╕реНрдЯрдо рдкрд░реАрдХреНрд╖рдг рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдкреВрд░реА рдкреНрд░рдгрд╛рд▓реА рдХрд╛рдо рдХрд░рддреА рд╣реИ, рдХрд┐ рдЗрд╕рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдЕрдкрдиреЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВред


рдкреНрд░рдХрд╛рд░реЛрдВ рдкрд░ рдирдЬрд╝рд░ рдХреНрдпреЛрдВ рд░рдЦреЗрдВ


рдЖрдорддреМрд░ рдкрд░, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде, рдХреЛрдб рдЖрдзрд╛рд░ рднреА рдмрдврд╝реЗрдЧрд╛ред рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЬрд╛рдВрдЪ рдХреА рдЕрд╡рдзрд┐ рдмрдврд╝реЗрдЧреА, рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдПрдХреАрдХрд░рдг рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЪреБрдиреМрддреА рдЖрд╡рд╢реНрдпрдХ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдХрдо рд╕реЗ рдХрдо рдХрд░рдирд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдЬрд╣рд╛рдВ рд╕рдВрднрд╡ рд╣реЛ рдФрд░ "рдореЛрдХреНрд╕" (рдореЛрдХреНрд╕) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХреАрдХрд░рдг рдХреЛ рдХрдо рдХрд░реЗрдВред


рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛


рдареЗрда рдПрдкреАрдЖрдИ рдЯреЗрд╕реНрдЯ


def test_user_reg(client): return json.loads( client.post(url, json=data, content_type='application/json').data ) response = client.post('api/user.reg', json={ 'email': 'name@mail.ru', 'password': 'password1', 'first_name': 'Name', 'last_name': 'Last Name' }) data = json.loads(response.data) assert data['code'] == 0 

рдлреНрд▓рд╛рд╕реНрдХ рдХреЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреНрд░рд▓реЗрдЦрди рд╕реЗ, рд╣рдореЗрдВ рдЖрд╡реЗрджрди рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддреИрдпрд╛рд░ рдиреБрд╕реНрдЦрд╛ рдорд┐рд▓рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рд╣реИред рдпрд╣ рдПрдХ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рд╣реИред рдпрд╣ рдПрдХ рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдг рд╣реИ рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░реАрдХреНрд╖рдг рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред


рдореЙрдбреНрдпреВрд▓рд░ рдХреЗ рдмрдЬрд╛рдп рдПрдХреАрдХрд░рдг рдХреНрдпреЛрдВ? рдХреНрдпреЛрдВрдХрд┐ рдХреНрд╡реЗрд░реА рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдореЗрдВ, рдЗрдВрдЯрд░реЗрдХреНрд╢рди рдлреНрд▓рд╛рд╕реНрдХ рдХреЗ рд╕рд╛рде, ORM рдХреЗ рд╕рд╛рде, рд╣рдорд╛рд░реЗ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣реИрдВрдбрд▓рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреНрдп рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЗ рдПрдХреАрдХрд░рдг рд▓рд┐рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрдирдХреЗ рд▓рд┐рдП рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ (рдЖрдкрдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдирдХрд▓реА, рдЖрдВрддрд░рд┐рдХ рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ) рдФрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдирд╣реАрдВ рд╣реИ (рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдг рд╕рдорд╛рди рдкрд╣рд▓реБрдУрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВрдЧреЗ - "рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдп рдХрд╣рд╛ рдЬрд╛рддрд╛ рдерд╛?", "," рдХреНрдпрд╛ рдбреЗрдЯрд╛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛? тАЭ, рдЖрджрд┐)ред


рдирд╛рдо рдФрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рд╕рдореВрд╣


 def test_not_empty_errors(): assert validate_not_empty('email', '') == ('email is empty',) assert validate_not_empty('email', ' ') == ('email is empty',) assert validate_email_format('email', "") == ('email is empty',) assert validate_password_format('pass', "") == ('pass is empty',) assert validate_datetime('datetime', "") == ('datetime is empty',) 

рдЗрд╕ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ, "рдЫреЛрдЯреЗ" рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рднреА рд╢рд░реНрддреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЕрдкреЗрдХреНрд╖рд┐рдд рдХреЗ рдЕрдиреБрдкрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдмрд┐рдирд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдЬрд╛рдВрдЪ рдХреА рдЬрд╛рддреА рд╣реИред рд▓реЗрдХрд┐рди рдбрд┐рдЬрд╛рдЗрди рд╕рд╡рд╛рд▓ рдЙрдард╛рддрд╛ рд╣реИред


рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рдЕрднреНрдпрд╛рд╕ рд╣реИ рдЬреЛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╣рд▓реВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдп рд╣реИрдВ - validate_password_format , validate_password_format , validate_datetime ред рдЧреНрд░реБрдкрд┐рдВрдЧ рдЪреЗрдХ рдкрд░рд┐рдгрд╛рдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдкрд░реАрдХреНрд╖рдг рд╡рд╕реНрддреБрдУрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред


рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдирд╛рдо ( test_not_empty_errors ) рдкрд░реАрдХреНрд╖рдг рдСрдмреНрдЬреЗрдХреНрдЯ (рдХрд┐рд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ) рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ (рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЦрд╛рд▓реА рдирд╣реАрдВ рд╣реИрдВ)ред рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ test__validate_not_empty__error_on_empty рдХрд╣рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдирд╛рдо рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рдкрд░рд┐рдгрд╛рдо рдХреА рдЙрдореНрдореАрдж рд╣реИред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд▓рдЧрднрдЧ рд╣рд░ рдкрд░реАрдХреНрд╖рдг рдирд╛рдо рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдирд╛рдордХрд░рдг рд╕рдореНрдореЗрд▓рдиреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдордп рдирд╣реАрдВ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред


рдкреНрд░рддрд┐рдЧрдорди рдкрд░реАрдХреНрд╖рдг


 def test_datetime_errors(): assert validate_datetime('datetime', '0123-24-31T;431') == ('datetime is invalid',) assert validate_datetime('datetime', '2018-10-18T20:21:21+-23:1') == ('datetime is invalid',) assert validate_datetime('datetime', '2015-13-20T20:20:20+20:20') == ('datetime is invalid',) assert validate_datetime('datetime', '2015-02-29T20:20:20+20:20') == ('datetime is invalid',) assert validate_datetime('datetime', '2015-12-20T25:20:20+20:20') == ('datetime is invalid',) assert validate_datetime('datetime', '2015-12-20T20:61:20+22:20') == ('datetime is invalid',) assert validate_datetime('datetime', '2015-12-20T20:20:61+20:20') == ('datetime is invalid',) assert validate_datetime('datetime', '2015-12-20T20:20:20+25:20') == ('datetime is invalid',) assert validate_datetime('datetime', '2015-12-20T20:20:20+20:61') == ('datetime is invalid',) assert validate_datetime('datetime', '2015-13-35T25:61:61+61:61') == ('datetime is invalid',) 

рдЗрд╕ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рдкрд╣рд▓реЗ рджреЛ assert ред рдЙрд╕рдХреЗ рдмрд╛рдж, рдПрдХ "рдмрдЧ" рдХреА рдЦреЛрдЬ рдХреА рдЧрдИ - рддрд╛рд░реАрдЦ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдХреЗрд╡рд▓ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХреА рдЧрдИ, рдЕрд░реНрдерд╛рддред 9999-99-99 рдХреЛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рддрд╛рд░реАрдЦ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛ред рдбреЗрд╡рд▓рдкрд░ рдиреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдмрдЧ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рднрд╡рд┐рд╖реНрдп рдХреЗ рдкреНрд░рддрд┐рдЧрдорди рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдПрдХ рдирдпрд╛ рдкрд░реАрдХреНрд╖рдг рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рд▓рд┐рдЦрдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдХреНрдпреЛрдВ рдореМрдЬреВрдж рд╣реИ, рдЗрд╕ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдЪреЗрдХ рдЬреЛрдбрд╝реЗ рдЧрдП рд╣реИрдВред


рд╕рддреНрдпрд╛рдкрди рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рдкрд░реАрдХреНрд╖рд╛ рдХреЛ рдХреНрдпрд╛ рдХрд╣рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП? рд╕рдВрднрд╡рддрдГ test__validate_datetime__error_on_bad_datetime ред


рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдЕрдирджреЗрдЦреА


 def test_get_providers(): class Tmp: def __init__(self, id_external, token, username): self.id_external = id_external self.token = token self.username = username ... 

Tmp ? рдпрд╣ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдбреЗрд╡рд▓рдкрд░ рдХреЛ MagicMock рд╕реЗ @patch рдФрд░ MagicMock рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред рдЕрдзрд┐рдХ рдкрд░реНрдпрд╛рдкреНрдд рдЙрдкрдХрд░рдг рд╣реЛрдиреЗ рдкрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рднрд▓реА-рднрд╛рдВрддрд┐ рд╣рд▓ рдХрд░рдХреЗ рдХреЛрдб рдХреЛ рдЬрдЯрд┐рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред


рдРрд╕рд╛ рдПрдХ рдкрд░реАрдХреНрд╖рдг рд╣реИ рдЬреЛ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ (рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ), рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рдВрджрд░реНрдн рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред


 def test_get_posts(client): def fake_request(*args, **kwargs): return [one, two] handler = VKServiceHandler() handler.request = fake_request services_init() with app.app_context(): posts = handler.get_posts(None) assert len(posts) == 2 

рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рд╕рдВрджрд░реНрдн рдХреЛ рдХреЗрд╡рд▓ рдПрдХ @patch рдЬреЛрдбрд╝рдХрд░ рдкрд░реАрдХреНрд╖рдг рд╕реЗ рдмрд╛рд╣рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


 @patch("mobius.services.service_vk.Service") def test_get_posts(mock): def fake_request(*args, **kwargs): return [one, two] handler = VKServiceHandler() handler.request = fake_request posts = handler.get_posts(None) assert len(posts) == 2 

рдкрд░рд┐рдгрд╛рдо


  • рдЧреБрдгрд╡рддреНрддрд╛ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХрдо рд╕реЗ рдХрдо, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдкрдХреЛ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдПред
  • рдмрдбрд╝реА рд╕реВрдЪрдирд╛ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдкрд░реАрдХреНрд╖рдг рдФрд░ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ - рд╡реЗ рдЖрдкрдХреЛ рдЕрд╡рд╛рдВрдЫрд┐рдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдпрд╛ рд░рд┐рдЯрд░реНрди рдмрдЧ рд╕реЗ рдмрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред
  • рддрд╛рдХрд┐ рд╕рдордп рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрд┐рдд рдкрд░реАрдХреНрд╖рд╛ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрдЬреАрдм рддрд░реАрдХреЛрдВ рдореЗрдВ рди рдмрджрд▓ рдЬрд╛рдП, рдЖрдкрдХреЛ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдирд╛рдордХрд░рдг рд╕рдореНрдореЗрд▓рди рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ, рдЕрдЪреНрдЫреА рдкреНрд░рдерд╛рдУрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдФрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
  • рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдПрдХ рдорд╣рд╛рди рдЙрдкрдХрд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЙрдиреНрд╣реЗрдВ рд╣рд░ рдЫреЛрдЯреЗ рдмрджрд▓рд╛рд╡ рдХреЗ рдмрд╛рдж рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдПрдХ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдмрдЧреНрд╕ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдпрд╛ рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред рдкрд░реАрдХреНрд╖рдг рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдгрд╛рдо (рдпрд╛ рдЗрд╕рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛) рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рддреНрдпрд╛рдкрди рдХреЗрд╡рд▓ рдЙрди рдкрд╣рд▓реБрдУрдВ рдХреЗ рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦреЗ рдЧрдП рдереЗред рдЗрд╕рд▓рд┐рдП, рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓рд╛ рдЙрддреНрдкрд╛рдж рдмрдирд╛рддреЗ рд╕рдордп, рд╣рдореЗрдВ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рднреВрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред

Source: https://habr.com/ru/post/hi450290/


All Articles