• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

jo-hoe / video-to-podcast-service / 20241984115

15 Dec 2025 05:47PM UTC coverage: 16.77% (-3.5%) from 20.263%
20241984115

push

github

web-flow
Added Cookie Handling Feature and removed golang dependency

Added Cookie Handling Feature and removed golang dependency

2 of 283 new or added lines in 9 files covered. (0.71%)

2 existing lines in 1 file now uncovered.

216 of 1288 relevant lines covered (16.77%)

0.41 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/internal/core/database/databasefactory.go
1
package database
2

3
import (
4
        "fmt"
5
        "log"
6

7
        "github.com/jo-hoe/video-to-podcast-service/internal/config"
8
        "github.com/jo-hoe/video-to-podcast-service/internal/core/filemanagement"
9
)
10

11
func NewDatabase(connectionString string, resourcePath string) (database DatabaseService, err error) {
×
NEW
12
        cfg := config.GetConfig()
×
13
        var dbInstance DatabaseService
×
14

×
NEW
15
        switch cfg.Persistence.Database.Driver {
×
NEW
16
        case "sqlite3", "sqlite":
×
17
                dbInstance = NewSQLiteDatabase(connectionString)
×
18
        default:
×
NEW
19
                return nil, fmt.Errorf("unsupported database driver: %s", cfg.Persistence.Database.Driver)
×
20
        }
21

22
        if !dbInstance.DoesDatabaseExist() {
×
23
                log.Print("database does not exist, creating new database")
×
24
                _, err = dbInstance.CreateDatabase()
×
25
                if err != nil {
×
26
                        return nil, fmt.Errorf("failed to create database: %w", err)
×
27
                }
×
28
        } else {
×
29
                log.Print("database already exists, skipping creation.")
×
30
                _, err = dbInstance.InitializeDatabase()
×
31
                if err != nil {
×
32
                        return nil, fmt.Errorf("failed to initialize database: %w", err)
×
33
                }
×
34
        }
35

36
        addPreexistingElements(dbInstance, resourcePath)
×
37

×
38
        return dbInstance, nil
×
39
}
40

41
func addPreexistingElements(database DatabaseService, resourcePath string) {
×
42
        if database == nil {
×
43
                return
×
44
        }
×
45

46
        log.Print("discovering preexisting audio files in resource path: ", resourcePath)
×
47
        filePaths, err := filemanagement.GetAudioFiles(resourcePath)
×
48

×
49
        if err != nil {
×
50
                fmt.Printf("error initializing database while retrieving audio files: %v\n", err)
×
51
                return
×
52
        }
×
53

54
        for _, file := range filePaths {
×
55
                podcastItem, err := NewPodcastItem(file)
×
56
                if err != nil {
×
57
                        fmt.Printf("error creating podcast item for file %s: %v\n", file, err)
×
58
                        continue
×
59
                }
60

61
                err = database.CreatePodcastItem(podcastItem)
×
62
                if err != nil {
×
63
                        fmt.Printf("error saving podcast item for file %s: %v\n", file, err)
×
64
                }
×
65
        }
66
        log.Printf("added %d preexisting podcast items to the database", len(filePaths))
×
67
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc