Git Product home page Git Product logo

backend's Issues

View Project - Collaboratos

U API View Project nefunguje zobrazování contributors. Projekt id=11 má 4 contributors.

Aktuální chování:

...
"contributors": [
    419
]
...

Co je 419?

Očekávané chování:

"collaborators": {
        "label": [
            "username",
            "emailhash",
            "role"
        ],
        "data": [
            [
                "username-1",
                "e332a76c29654fcb7f6e6b31ced090c7",
                "owner"
            ],
            [
                "username-2",
                "6a979aae21c21ea2bb78d86cab5a884b",
                "contributor"
            ]
        ]
    }
  • key = collaborators, ne contributors
  • v collaborator je vždy uveden alespon owner, aktuálně se vrací prázdný array, pokud collaborators nejsou

API / Get projects returns deleted projects

Get All Projects method returns projects that don't exist. E.g.

Create X.
Create Y.
Show project list: X, Y.
Remove X.
Current: Show project list: X, Y.
Expected: Show project list: Y.

user api

  • Get all users
  • Get user account
  • Get user packages
  • Get own account
  • Edit own account
  • Delete own account
  • Change password
  • Get own packages
  • Get accessible projects

User projects - returns all projects

Metoda User Projects vrací všechny existující projekty, nejen uživatelské. Má vracet pouze projekty, kde je vlastníkem, nebo kde je uživateli přiřazena nějaká konkrétní role.

API / Get all projects - wrong owner

REQUEST
 Method: [POST] http://104.248.129.160/user/projects
 Body:
{
 "limit": 0
}

RESPONSE
 Status: 200 (OK)
 Body:
{
 "projects": {
  "data": [
   [
    9,
    "onlineTest2",
    "OntoUML",
    "fgdhf"
   ],
   [
    10,
    "onlineTest2",
    "The name of the worst project ever",
    "Pple."
   ],
  ],
  "label": [
   "id",
   "owner",
   "name",
   "description"
  ]
 }
}

owner musi byt majitel toho projektu, ted to vzdy vraci username toho uzivatele, ktery se dotazal na list projektu.

Sign Up / 500 due to non-unique email

Současné chování:
Návratová hodnota registace v případě neunikátního e-mailu je 500.

Očekávané chování:

{
    "message": "...",
    "invalid": [ "email" ]
}

Permissions

Potřeba vytvořit nějaký základní návrh

  • návrh handlování permission
  • vytvořit dekorátory funkcí

API / 422 - Unprocessable Entity

Nová globální kontrola. Dřív se kvůli nedostatku dat vracela 400 (nikde nebylo specifikováno).

Ted, pokud budou chybět potřebná data nebo budou jiného typu (tzn. úplně chybí password, password je array), tak se bude vracet 422 Unprocessable Entity:

{
	"message": "Not enough data to process the request."
}

Specifikovat, co přesně chybí, není potřeba.

V případě existence proměnné a validního typu, ale nevalidní hodnoty (tzn. prázdný login) se vrací 400 Bad Request s udáním poškozené proměnné:

{
    "message": "Some data are invalid.",
    "invalid": ["variable_name"]
}

Konkrétní typy a názvy se vážou na konkrétní API requesty, viz postman.

E-mail validation

Během registrace (/auth/signup) se @example.com považuje za validní e-mail.

API / Get All Modules returns removed modules

Get All Modules method returns modules that don't exist. E.g.

Create X.
Create Y.
Show module list: X, Y.
Remove X.
Current: Show module list: X, Y.
Expected: Show module list: Y.

Problém s testy

Při vícenásobném spuštění integračních testů, testy neprojdou, neboť se nedropne v databáze. Problém je někde v tests/conftest.py.

500 / Token parsing error

Pokud v header "Authorization" předávám nevalidní formát tokenu, např:

Authorization: "Bearer "
Authorization: "Bearer"

Tak server vrací 500. Očekáváné chování je 400:

{
   "message": "...",
   "invalid": [
      "token"
   ]
}

Sign Up / invalid values response

Request:

{
   "email" : "",
   "password" : "",
   "username" : ""
}

Současné chování:
Po detekování nevalidní hodnoty v requestu ihned vrací odpověd, bez kontroly všech hodnot:

{
   "message" : "...",
   "invalid": [ "email" ]
}

Očekávané chování:
Kontrola všech hodnot a návrat všech nevalidních hodnot:

{
   "message" : "...",
   "invalid": [ "username", "email", "password"]
}

Project api

  • create project
  • view project
  • update project
  • rm project
  • add contributor
  • rm contributor

Possible cache problem

Možná problém s chacováním dotazů.

  • existuje projekt s 0 collaborators
  • přidat 1 collaboratora
  • vrací seznam s 1 collaboratorem
  • přidat další 3 collaboratory
  • vrací seznam s 1 collaboratorem
  • po 20-30min vrací seznam se 4 collaboratory

API / Patch module

Uprava modulu vraci chybu v "name" vzdy, kdyz se meni. Mela by nastat pouze v pripade neunikatniho name v pramci projektu nebo kratkeho (mene nez 1 znak?).

Fabric deploy

Vytvořit Fabric script, který bude obstarávat instalaci evodoc na serveru.

Testovací prostředí

Připravit nové jádro na integrační testy

  • Nastavení db
  • Nastavení testovacího prostředí

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.